Lombok 어노테이션 정리 🚀
**Lombok**은 Java 프로젝트에서 자주 반복되는 코드를 줄여주는 유용한 라이브러리입니다. 이번 글에서는 Lombok에서 제공하는 **주요 어노테이션**과 **사용 예시**를 정리해 보겠습니다.
📌 주요 Lombok 어노테이션
어노테이션 |
기능 설명 |
사용 예시 |
@Getter / @Setter |
필드에 대한 getter와 setter 메서드를 자동 생성 |
import lombok.Getter;
import lombok.Setter;
public class User {
@Getter @Setter
private String name;
}
|
@ToString |
객체의 toString() 메서드를 자동 생성 |
import lombok.ToString;
@ToString
public class User {
private String name;
private int age;
}
|
@NoArgsConstructor |
기본 생성자 자동 생성 |
import lombok.NoArgsConstructor;
@NoArgsConstructor
public class User {
private String name;
}
|
@AllArgsConstructor |
모든 필드를 포함하는 생성자 생성 |
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class User {
private String name;
private int age;
}
|
@RequiredArgsConstructor |
final이나 @NonNull 필드를 포함하는 생성자 생성 |
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class User {
private final String name;
}
|
@EqualsAndHashCode |
equals()와 hashCode() 메서드를 자동 생성 |
import lombok.EqualsAndHashCode;
@EqualsAndHashCode
public class User {
private String name;
private int age;
}
|
@Data |
@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 결합 |
import lombok.Data;
@Data
public class User {
private String name;
private int age;
}
|
@Builder |
객체를 빌더 패턴으로 생성 |
import lombok.Builder;
@Builder
public class User {
private String name;
private int age;
}
|
💡 어노테이션 사용 시 주의사항
- Lombok은 컴파일 시 코드에 어노테이션을 적용합니다.
- **IDE 플러그인 설치**와 **Annotation Processor** 설정이 필요합니다.
- @Data는 편리하지만 모든 메서드를 자동 생성하므로 과도하게 사용하지 않도록 주의하세요.
✅ Lombok 설정 방법
프로젝트에 Lombok을 설정하려면 다음 의존성을 추가하세요.
Maven
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
Gradle
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
}
IDE에서 Lombok 플러그인을 설치하고 Annotation Processing을 활성화하면 정상적으로 작동합니다.
🚀 결론
Lombok은 개발자가 반복적으로 작성해야 하는 코드를 줄여주어 개발 시간을 절약할 수 있습니다. 위에서 소개한 어노테이션을 잘 활용하면 **더 간결하고 효율적인 코드**를 작성할 수 있습니다.
프로젝트에 Lombok을 적용해보고, 개발 생산성을 높여보세요! 😊