@RequiredArgsConstructor는 어떤 필드에 대해 생성자를 생성하는지

LeeYulhee·2023년 8월 29일
0

👉 @RequiredArgsConstructor 역할


  • 초기화되지 않은 final 필드 또는 @NonNull로 애노테이트된 필드에 대해 생성자를 생성
  • 즉, final 필드와 @NonNull로 표시된 필드 모두를 포함하는 생성자를 생성



👉 예시


import lombok.NonNull;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class SampleClass {
    private final String firstField;
    @NonNull private String secondField;
    private String thirdField;

    // 생성자는 Lombok에 의해 다음과 같이 생성
    // public SampleClass(String firstField, String secondField) {
    //    this.firstField = firstField;
    //    this.secondField = secondField;
    // }
}
  • @RequiredArgsConstructor는 firstField와 secondField를 모두 포함하는 생성자를 생성
    • firstField는 final 필드이기 때문에 초기화가 필요
    • secondField는 @NonNull 애노테이션 때문에 생성자에서 초기화가 필요
    • thirdField는 둘 다 아니기 때문에 해당 생성자에 포함되지 않음
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글