728x90
반응형
Java에서 반복적으로 작성해야 하는 메서드들, 예를 들어 getter, setter, toString, 생성자 같은 것들로 인해 코드가 길어지는 것이 고민이신가요?
Lombok은 이러한 반복 코드를 어노테이션 한 줄로 자동 생성해주는 강력한 라이브러리입니다. 이 글에서는 Lombok의 주요 어노테이션을 한 번에 정리해드립니다.
💡 Lombok 설정 방법
// build.gradle
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
annotationProcessor 'org.projectlombok:lombok'
compileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
}
🧩 주요 Lombok 어노테이션 정리
🔹 @Getter, @Setter
- 클래스나 필드에 사용 가능
- 접근자(getter), 설정자(setter) 자동 생성
@Getter
@Setter
private String name;
🔹 @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
- 생성자 자동 생성
- @NoArgsConstructor → 기본 생성자
- @AllArgsConstructor → 모든 필드 포함 생성자
- @RequiredArgsConstructor → final 필드 + @NonNull 필드만 포함
@RequiredArgsConstructor
private final String name;
🔹 @ToString
- toString() 메서드를 자동 생성
- 특정 필드를 제외할 수 있음
@ToString(exclude = "password")
private String password;
🔹 @EqualsAndHashCode
- equals() 및 hashCode() 자동 생성
- callSuper = true 옵션으로 부모 클래스 필드 포함 여부 설정 가능
🔹 @Data
- @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 를 한 번에 적용
✅ 정리
어노테이션기능 요약
| @Getter / @Setter | 필드의 getter/setter 생성 |
| @NoArgsConstructor | 기본 생성자 생성 |
| @AllArgsConstructor | 전체 필드 생성자 |
| @RequiredArgsConstructor | 필수(final, @NonNull) 생성자 |
| @ToString | toString() 자동 생성 |
| @EqualsAndHashCode | equals/hashCode 자동 생성 |
| @Data | 위 5개를 모두 한 번에 생성 |
728x90
반응형
'Programming > Spring' 카테고리의 다른 글
| 스프링 MVC와 DispatcherServlet 내부 동작: 모든 요청은 여기로 집결! (0) | 2025.08.24 |
|---|---|
| 🌱 스프링(Spring)의 탄생과 철학 – Rod Johnson의 한 줄기 ‘봄’ (0) | 2022.11.21 |
| @Configuration 안에 @Bean을 사용해야 하는 이유, proxyBeanMethods (0) | 2022.10.30 |
| 빈 등록을 위한 어노테이션 (0) | 2022.10.30 |
| @Controller와 @RestController (0) | 2022.10.30 |