[Spring] Lombok의 주요 어노테이션 (Feat. Builder 패턴)

류넹·2024년 2월 26일
1

Spring

목록 보기
12/50

# 목적

: Lombok의 주요 어노테이션과 Builder 패턴에 대한 이해




❓ Lombok

  • 자바빈즈(JavaBeans, 값을 저장하는 객체)에 Getter/Setter, 생성자, toString, equals/hashcode 등의 메서드를 자동으로 생성시킨다.



롬복의 주요 어노테이션

1. @Getter

  • Getter 메서드 추가

2. @Setter

  • Setter 메서드 추가

3. @ToString

  • toString 메서드 추가

4. @EqualsAndHashCode

  • equals 메서드와 hashCode 메서드 추가

5. @Data

  • 기본 생성자 메서드, Getter/Setter, equals/hashCode, toString 메서드 추가

6. @NoArgsConstructor

  • 매개변수 없는 기본 생성자 메서드 추가

7. @AllArgsConstructor

  • 모든 매개변수를 초기화하는 생성자 메서드 추가

8. @RequiredArgsConstructor

  • final 키워드가 지정된 멤버변수를 매개변수로 가지는 생성자 메서드 추가

9. @Builder

  • 해당 클래스에 Builder 패턴을 적용시킨다.
  • 클래스에 부착하면 모든 멤버변수를 대상으로 Builder 패턴을 적용하고, 생성자에 부착하면 생성자의 매개변수에 대해서만 Builder 패턴을 적용한다.

* Builder 패턴

  • 객체를 생성하는 방법
  • 해당 클래스에 대한 빌드 클래스를 정적 내부 클래스로 제공한다.
  • Builder 클래스가 제공하는 메서드를 이용해서 멤버변수를 초기화한다.
    • 멤버변수를 초기화할 때 사용하는 메소드가 멤버변수의 이름과 동일하기 때문에 가독성이 높다.
    • 다양한 조합으로 멤버변수를 초기화하는 것이 가능하다.
  • Builder 클래스가 제공하는 메서드는 메서드 체이닝을 지원한다.

* Builder패턴의 메서드 체이닝

profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글