[개발] 프로그램 지식

[IntelliJ] Lombok 이란? 쓰는 이유?

  • -
반응형

 

 

Lombok 사용법 및 어노테이션 정리 🚀

Lombok은 Java 프로젝트에서 보일러플레이트 코드를 줄여주는 강력한 도구입니다. 설정이 올바르지 않으면 일부 기능이 동작하지 않을 수 있습니다. 아래에서 Lombok 사용법, 주요 어노테이션 정리, 문제 해결 방법을 확인해보세요!


 

 

 

 

 

 

1️⃣ Lombok 사용법

✅ Lombok 설정 방법

  1. 의존성 추가
    Maven 설정:Gradle 설정:
  2. dependencies { compileOnly 'org.projectlombok:lombok:1.18.30' annotationProcessor 'org.projectlombok:lombok:1.18.30' }
  3. <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <scope>provided</scope> </dependency>
  4. IDE 플러그인 설치: IntelliJ, Eclipse 등에서 Lombok 플러그인을 설치합니다.
  5. 빌드 설정 확인: Lombok이 빌드 도구에 인식되도록 설정합니다.

 

 

 

 

 

 

 

2️⃣ Lombok 어노테이션 정리

어노테이션 기능 설명
@Getter / @Setter 필드에 대한 getter와 setter 메서드 자동 생성
@ToString toString() 메서드 자동 생성
@NoArgsConstructor 기본 생성자 자동 생성
@AllArgsConstructor 모든 필드를 포함하는 생성자 생성
@Builder 객체 생성 시 빌더 패턴 적용

 

 

 

 

 

 

 

3️⃣ Lombok getter, setter 안됨 해결법

  • IDE 설정 확인: Lombok 플러그인이 설치되었는지 확인합니다.
  • Annotation Processor 활성화:
    • IntelliJ: Settings > Build, Execution, Deployment > Compiler > Annotation Processors에서 체크.
  • 빌드 및 재컴파일: 프로젝트를 Rebuild 후 확인합니다.
  • 의존성 버전 확인: Lombok 버전과 Java 버전 호환성을 확인합니다.

 

 

 

 

 

 

 

 

4️⃣ Lombok 주요 사용법 예시

1. @Getter와 @Setter


import lombok.Getter;
import lombok.Setter;

public class User {
    @Getter @Setter
    private String name;
    @Getter @Setter
    private int age;
}
    

 

 

 

 

 

 

2. @NoArgsConstructor / @AllArgsConstructor


import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private int age;
}
    

 

 

 

 

 

3. @Builder


import lombok.Builder;

@Builder
public class User {
    private String name;
    private int age;
}
    

 

 

 

 

 

 

 

 

 

5️⃣ 결론: Lombok 사용 시 주의할 점

  • IDE 플러그인 설치 및 Annotation Processor 활성화는 필수입니다.
  • Lombok 설정이 누락되면 기능이 동작하지 않을 수 있습니다.
  • 코드 가독성과 유지보수를 고려해 필요한 어노테이션만 사용하세요.

Lombok을 사용하면 반복되는 코드를 줄여 개발 효율을 극대화할 수 있습니다! 😊

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.