Java/Spring
-
접근 제한자(접근 제어자)란?Java 접근 제한자는 말 그대로 접근을 제어하기 위한 키워드이다.여기서 접근이란 클래스 및 메서드 등 이들이가지고 있는 정보를 클래스, 인터페이스 등다른 패키지에서 사용하지 못하도록 막을 필요가 있다.또한 객체 생성을 못하게 하거나 필드나 메서드를 사용하지 못하도록 막아야 하는 경우도 있다. 이때 접근 제한자 키워드를 사용해 제한할 수 있다.접근 제한자의 종류에는 public, protected, default, private 접근 제한자가 존재한다. 접근 제한자 종류 public외부 패키지에 존재하는 클래스들이 자유롭게 사용할 수 있다.같은 패키지내에서나 다른 패키지에서 자유롭게 접근할 수 있다.라이브러리 같은 외부 개발자들이 사용할 수 있도록 개발한다면 public 접..
Java 접근 제한자(접근 제어자)접근 제한자(접근 제어자)란?Java 접근 제한자는 말 그대로 접근을 제어하기 위한 키워드이다.여기서 접근이란 클래스 및 메서드 등 이들이가지고 있는 정보를 클래스, 인터페이스 등다른 패키지에서 사용하지 못하도록 막을 필요가 있다.또한 객체 생성을 못하게 하거나 필드나 메서드를 사용하지 못하도록 막아야 하는 경우도 있다. 이때 접근 제한자 키워드를 사용해 제한할 수 있다.접근 제한자의 종류에는 public, protected, default, private 접근 제한자가 존재한다. 접근 제한자 종류 public외부 패키지에 존재하는 클래스들이 자유롭게 사용할 수 있다.같은 패키지내에서나 다른 패키지에서 자유롭게 접근할 수 있다.라이브러리 같은 외부 개발자들이 사용할 수 있도록 개발한다면 public 접..
2024.01.19 -
폴링, 롱 폴링, SSE 방식이 필요한 이유 폴링, 롱 폴링, SSE 등의 방식이 필요한 이유는 HTTP 프로토콜의 주요 특징인 비연결성 때문이다. 실시간 알림 기능은 서버가 클라이언트에게 데이터를 보내면 클라이언트가 이를 인지하여 알림을 띄워야하는 구조인데 HTTP 프로토콜인 웹에서도 실시간 기능이 필요했다. 이러한 실시간 처리가 필요할때 사용하는게 폴링, 롱 폴링, SSE 등의 방식이다. Polling 이란? 클라이언트가 주기적으로 서버로 요청을 보내는 방식이다. 일정시간마다 클라이언트가 서버로 요청을 보내 데이터 갱신이 있는지 확인하고, 갱신 시 응답을 받는 방식이다. 폴링 방식의 구현은 간단하지만 클라이언트가 계속해서 서버로 요청을 하기 때문에 리소스 낭비가 심하다. 보낼 데이터가 없지만 계속해서..
Polling(폴링), Long Polling(롱 폴링), SSE(Server Sent Events)폴링, 롱 폴링, SSE 방식이 필요한 이유 폴링, 롱 폴링, SSE 등의 방식이 필요한 이유는 HTTP 프로토콜의 주요 특징인 비연결성 때문이다. 실시간 알림 기능은 서버가 클라이언트에게 데이터를 보내면 클라이언트가 이를 인지하여 알림을 띄워야하는 구조인데 HTTP 프로토콜인 웹에서도 실시간 기능이 필요했다. 이러한 실시간 처리가 필요할때 사용하는게 폴링, 롱 폴링, SSE 등의 방식이다. Polling 이란? 클라이언트가 주기적으로 서버로 요청을 보내는 방식이다. 일정시간마다 클라이언트가 서버로 요청을 보내 데이터 갱신이 있는지 확인하고, 갱신 시 응답을 받는 방식이다. 폴링 방식의 구현은 간단하지만 클라이언트가 계속해서 서버로 요청을 하기 때문에 리소스 낭비가 심하다. 보낼 데이터가 없지만 계속해서..
2024.01.17 -
람다식이란?JDK 1.8 부터 추가된 람다식(Lambda Expression)은 메서드를 하나의 식(Expression)으로 표현한것이다.람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있다.이러한 람다식은 메서드의 이름과 반환값을 제거할 수 있어 "익명함수" 라고도 한다. 람다식 형태// 람다식 형태(매개변수, ...) -> { 실행문 }// 일반 메서드public int sum(int a, int b){ return a + b;}// 일반 메서드를 람다식으로 변환(int a, int b) -> { return a + b; }; 위와 같이 람다식 형태는 익명함수처럼 메서드의 이름과 반환 타입을 제거하고 선언부와 몸통 사이에 -> 를 추가한다.-> 가 있음으로써 왼쪽 매개변수를 이용해서 중괄호{} ..
Java 람다식, 이중 콜론 연산자(메소드 참조 표현식)람다식이란?JDK 1.8 부터 추가된 람다식(Lambda Expression)은 메서드를 하나의 식(Expression)으로 표현한것이다.람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있다.이러한 람다식은 메서드의 이름과 반환값을 제거할 수 있어 "익명함수" 라고도 한다. 람다식 형태// 람다식 형태(매개변수, ...) -> { 실행문 }// 일반 메서드public int sum(int a, int b){ return a + b;}// 일반 메서드를 람다식으로 변환(int a, int b) -> { return a + b; }; 위와 같이 람다식 형태는 익명함수처럼 메서드의 이름과 반환 타입을 제거하고 선언부와 몸통 사이에 -> 를 추가한다.-> 가 있음으로써 왼쪽 매개변수를 이용해서 중괄호{} ..
2024.01.16 -
개발환경 : Spring Boot 3.2.1, JDK17 1. Spring Boot Project 생성 New > Other > Spring Boot > Spring Starter Project 를 통해 프로젝트를 생성한다. 2. Node.js 설치 및 vue cli 설치https://nodejs.org/ko/download/Node.js 홈페이지에서 Windows Installer 를 통해 다운받는다. 설치한 후 시작프로그램에서 Node를 검색하면 이러한 커맨드가 나오는데 실행한다. 실행한 후 커맨드 창에 아래와 같은 키워드로 Vue Cli 를 설치해준다." npm install -g @vue/cli " * vue-cli란vue-cli는 기본 vue 개발 환경을 설정해주는 도구입니다. vue-cl..
Spring Boot 에 Vue.js 사용 및 Vue.js 프로젝트 기본구조개발환경 : Spring Boot 3.2.1, JDK17 1. Spring Boot Project 생성 New > Other > Spring Boot > Spring Starter Project 를 통해 프로젝트를 생성한다. 2. Node.js 설치 및 vue cli 설치https://nodejs.org/ko/download/Node.js 홈페이지에서 Windows Installer 를 통해 다운받는다. 설치한 후 시작프로그램에서 Node를 검색하면 이러한 커맨드가 나오는데 실행한다. 실행한 후 커맨드 창에 아래와 같은 키워드로 Vue Cli 를 설치해준다." npm install -g @vue/cli " * vue-cli란vue-cli는 기본 vue 개발 환경을 설정해주는 도구입니다. vue-cl..
2024.01.03 -
extends (상속) 이란?상속이란 부모 클래스의 메소드를 그대로 물려받아 오버라이딩할 필요 없이 그대로 사용 가능하도록 하는 기술상속하는 과정에서 개발된 클래스를 재 사용하여 중복되는 코드를 최대한 줄여주며 부모의 클래스를오버라이딩 하여 수정할 수 있다. 상속을 받더라도 부모 클래스의 모든 것들을 물려받는게 아니다.필드나 메서드의 접근제어자가 public 또는 protected 일 때만 상속이 가능하다. 다중상속 불가능Java 는 다중 상속이 불가능하다.예를 들어, 상속받은 여러개의 부모 클래스들에서 동일한 이름의 필드나 메서드가 존재할 경우?어떤 부모 클래스의 필드와 메서드를 상속받을 것인가?어떤 부모 클래스에 접근할 것인가?위 처럼 모호함이 발생하여 다중 상속이 불가능하다. Java 상속 방법..
Java extends(상속), superextends (상속) 이란?상속이란 부모 클래스의 메소드를 그대로 물려받아 오버라이딩할 필요 없이 그대로 사용 가능하도록 하는 기술상속하는 과정에서 개발된 클래스를 재 사용하여 중복되는 코드를 최대한 줄여주며 부모의 클래스를오버라이딩 하여 수정할 수 있다. 상속을 받더라도 부모 클래스의 모든 것들을 물려받는게 아니다.필드나 메서드의 접근제어자가 public 또는 protected 일 때만 상속이 가능하다. 다중상속 불가능Java 는 다중 상속이 불가능하다.예를 들어, 상속받은 여러개의 부모 클래스들에서 동일한 이름의 필드나 메서드가 존재할 경우?어떤 부모 클래스의 필드와 메서드를 상속받을 것인가?어떤 부모 클래스에 접근할 것인가?위 처럼 모호함이 발생하여 다중 상속이 불가능하다. Java 상속 방법..
2023.11.28 -
Spring Boot 에서 Context path 를 설정하지 않으면 기본적으로 '' 빈값으로 설정되어http://localhost:8080/ 로 접근할 수 있다.Controller 를 통해 RequestMapping 을 "/test" 로 설정하게 되면 http://localhost:8080/test 로 접근할 수 있다. Spring Boot 에서는 application.properties 또는 application.yml 을 통해 context path 를 설정하도록 권장하고 있다. 1. application.yml 을 통해 Context Path 설정하기본인은 .yml 을 통해 설정한다. (application.properties 와는 비슷하기 때문에 참고 바랍니다.) 설정하는 방법 server.se..
Spring Boot Context Path 설정하는 방법Spring Boot 에서 Context path 를 설정하지 않으면 기본적으로 '' 빈값으로 설정되어http://localhost:8080/ 로 접근할 수 있다.Controller 를 통해 RequestMapping 을 "/test" 로 설정하게 되면 http://localhost:8080/test 로 접근할 수 있다. Spring Boot 에서는 application.properties 또는 application.yml 을 통해 context path 를 설정하도록 권장하고 있다. 1. application.yml 을 통해 Context Path 설정하기본인은 .yml 을 통해 설정한다. (application.properties 와는 비슷하기 때문에 참고 바랍니다.) 설정하는 방법 server.se..
2023.11.23