@AllArgsConstructor와 @RequiredArgsConstructor는
Lombok 라이브러리에서 제공하는 어노테이션으로, 두 어노테이션 모두 클래스에 생성자를 자동으로 생성해주는 역할을 합니다. 하지만 생성되는 생성자의 범위와 포함되는 필드가 다릅니다.
@AllArgsConstructor
- 기능: 클래스의 모든 필드를 포함하는 생성자를 자동으로 생성합니다.
- 사용 사례: 클래스의 모든 필드를 초기화해야 하는 생성자가 필요한 경우.
- 특징:
- final 필드, @NonNull이 적용된 필드, 그리고 일반 필드(초기값이 없는 필드)를 모두 포함합니다.
- 모든 필드를 초기화하는 생성자가 생성됩니다.
@RequiredArgsConstructor
- 기능: final 필드와 @NonNull이 적용된 필드만 포함하는 생성자를 생성합니다.
- 사용 사례: 꼭 초기화가 필요한 필드만 포함된 생성자가 필요한 경우.
- 특징:
- final 필드와 @NonNull이 적용된 필드만 초기화 대상입니다.
- 일반 필드는 포함되지 않습니다.
▶ 차이점 요약
어노테이션 | 포함되는 필드 | 사용 사례 |
@AllArgsConstructor | 모든 필드 (final, @NonNull, 일반 필드) | 모든 필드를 초기화하는 생성자가 필요한 경우 |
@RequiredArgsConstructor | 필수 필드 (final, @NonNull) | 필수 필드만 초기화하는 생성자가 필요한 경우 |
'개발 > 부트캠프' 카테고리의 다른 글
본캠프 : Spring 기초 강의 완강 요약 (0) | 2025.01.27 |
---|---|
본캠프 : Spring 기초_특강1_3 Layered Architecture (0) | 2025.01.24 |
본캠프 : Spring 기초_2주차 (1) | 2025.01.22 |
본캠프 : Spring 기초_1주차 (0) | 2025.01.20 |
본캠프 : 개인 과제(키오스크 만들기) 트러블 슈팅 (2) | 2025.01.20 |