Notice
Recent Posts
Link
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

지니의 개발로그

@RequiredArgsConstructor 어노테이션? 본문

Spring Boot

@RequiredArgsConstructor 어노테이션?

지니♥︎ 2024. 6. 21. 10:00

🟢 @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