지니의 개발로그
@RequiredArgsConstructor 어노테이션? 본문
🟢 @RequiredArgsConstructor
Lombok 라이브러리에서 제공하는 어노테이션
final 또는 @NonNull 필드를 매개변수로 가지는 생성자를 자동으로 생성
생성자 작성의 번거로움을 줄이고, 코드의 가독성을 높일 수 있는 유용한 어노테이션.
🟢 final 필드
final 키워드가 붙은 필드는 반드시 생성자에서 초기화되어야 한다.
@RequiredArgsConstructor는 이러한 필드를 초기화할 수 있도록 생성자를 만들어준다.
🟢 @NonNull 필드
@NonNull 애너테이션이 붙은 필드는 null 값을 가질 수 없도록 설정된다.
생성자에서 해당 필드가 null인지 검사하고,
null이면 NullPointerException을 던지도록 한다.
🟢 그 외 필드
final이나 @NonNull이 붙지 않은 필드는 생성자에 포함되지 않기 때문에
@ RequiredArgsConstructor가 아닌 다른 방식으로 초기화 해야 한다.
🔵 주의점
Lombok 애너테이션을 사용하려면
프로젝트에 Lombok 의존성을 추가해야 사용 가능하다.
@RequiredArgsConstructor는 클래스의 모든 final 필드와 @NonNull 필드를 포함하는 생성자를 생성하므로,
해당 필드들을 설정할 필요가 있는 경우에 유용하게 쓸 수 있다.
이미 생성자가 존재하는 경우에는 Lombok이 생성자를 추가하지 않는다.
이런 경우 다른 Lombok 애너테이션 (@AllArgsConstructor, @NoArgsConstructor 등)과 함께 사용.
'Spring Boot' 카테고리의 다른 글
@GeneratedValue 어노테이션의 strategy 옵션 (0) | 2024.08.16 |
---|---|
@Column 어노테이션 (0) | 2024.07.12 |