5. Lombok이란?

2026. 2. 9. 23:25·BackEnd/내일배움캠프

Lombok이란?

Lombok은 Java 개발 시 반복적으로 작성해야 하는 코드를 줄여주는 라이브러리다.

대표적으로 Getter, Setter, 생성자와 같은 보일러플레이트 코드를
어노테이션(annotation) 하나로 자동 생성해준다.


Getter / Setter 자동 생성

Lombok을 추가하면 @Getter, @Setter 어노테이션을 통해
직접 Getter, Setter 메서드를 작성하지 않아도 된다.

@Getter
@Setter
public class Member {
    private String name;
    private int age;
}

이처럼 필드만 선언해도 Lombok이 컴파일 시점에
Getter와 Setter 메서드를 자동으로 만들어준다.


Lombok을 사용하는 이유

하나의 클래스에는 필드에 의해 파생되는 메서드들이 매우 많다.

  • Getter / Setter
  • 생성자
  • equals / hashCode
  • toString

Lombok을 사용하면:

  • 코드 길이를 크게 줄일 수 있고
  • 클래스의 핵심 역할에 집중할 수 있으며
  • 전체적인 가독성이 향상된다.

Lombok 생성자 관련 어노테이션

Lombok은 Getter / Setter 외에도
여러 생성자 관련 어노테이션을 제공한다.

@AllArgsConstructor

  • 클래스의 모든 필드를 파라미터로 갖는 생성자를 생성한다.
@AllArgsConstructor
public class Member {
    private String name;
    private int age;
}

@NoArgsConstructor

  • 기본 생성자(파라미터가 없는 생성자) 를 생성한다.
@NoArgsConstructor
public class Member {
    private String name;
    private int age;
}

@RequiredArgsConstructor

  • 필수 필드만을 파라미터로 갖는 생성자를 생성한다.
  • 필수 필드는 final이 붙은 필드다.

즉,

  • final이 선언된 필드만
  • 생성자의 파라미터로 포함된다.
@RequiredArgsConstructor
public class Member {
    private final String name;
    private int age;
}

위 코드에서는 name만을 파라미터로 갖는 생성자가 생성된다.


application.properties 파일이란?

application.properties는
Spring Boot 애플리케이션에서 자동으로 제공되는 설정 파일이다.

서버 포트, DB 연결 정보, 로그 설정 등
애플리케이션 전반의 설정 값을 이 파일을 통해 쉽게 수정할 수 있다.


application.properties와 DB 설정

추후 데이터베이스를 연결할 때도
application.properties 파일을 사용해

  • DB 주소
  • 계정 정보
  • 비밀번호

등을 간단하게 설정할 수 있다.


서버 포트 설정 예시

기본적으로 Spring Boot는 8080 포트에서 실행된다.

application.properties 파일에 아래와 같이 작성하면
기본 포트를 변경할 수 있다.

server.port=8081

이렇게 설정하면:

  • 기본 포트 8080이 아닌
  • 8081 포트로 서버가 실행된다.

정리

  • Lombok은 반복적인 Java 코드를 줄여주는 라이브러리다
  • Getter, Setter, 생성자를 어노테이션으로 자동 생성할 수 있다
  • @RequiredArgsConstructor는 final 필드를 기준으로 생성자를 만든다
  • application.properties는 Spring Boot 설정의 중심 파일이다
  • 서버 포트 및 DB 설정을 손쉽게 변경할 수 있다

'BackEnd > 내일배움캠프' 카테고리의 다른 글

7. Controller란?  (0) 2026.02.10
6. MVC 디자인 패턴이란?  (0) 2026.02.09
4. 테스트코드  (0) 2026.02.09
3. HTTP란 무엇일까?  (0) 2026.02.09
2. 서버란 무엇일까?  (0) 2026.02.09
'BackEnd/내일배움캠프' 카테고리의 다른 글
  • 7. Controller란?
  • 6. MVC 디자인 패턴이란?
  • 4. 테스트코드
  • 3. HTTP란 무엇일까?
JK-LEE98
JK-LEE98
백엔드 개발자
  • JK-LEE98
    JK-LEE98
    JK-LEE98
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 나의 지식 공유 (4)
      • SQL (4)
      • PS (10)
      • BackEnd (32)
        • Java (3)
        • Spring (4)
        • 내일배움캠프 (20)
        • 프로그래머스 데브코스 (5)
      • 건강한 나 되기🍀 (10)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
JK-LEE98
5. Lombok이란?
상단으로

티스토리툴바