Post

Lombok이란?

서론

Java 코드를 작성할 때 일일이 Setter/Getter 혹은 생성자를 써줘야한다.
이를 조금 더 단순하고 세련되게 처리하는 방법이 Lombok을 사용하는 것이다.
오늘은 이 Lombok에 대해서 알아보자.

Lombok이란?

Lombok은 자바의 컴파일 전용 라이브러리이다.
주석을 사용하여 Getter/Setter를 자동으로 생성해주고, 여러가지 메서드를 코딩할 필요성을 줄여준다.

Lombok을 사용해야하는 이유?

Lombok을 사용하면 주석만으로 긴 반복되는 코드를 처리해준다.
이는 가독성이 올라가고 개발자의 생산성이 증가한다.
간단히 말하면 코드를 작성함에 있어 간편하고 가독성을 증가시켜주기 때문에 사용한다.

Lombok의 주요기능

Lombok은 주석으로 기능을 처리한다.
주요한 기능으로는 아래의 것들이 있다.

  1. @Getter/Setter
    • getter 및 setter 메소드를 자동으로 작성해 준다.
  2. @ToString
    • 클래스의 필드를 기반으로 toString() 메서드를 자동으로 생성해준다.
  3. @EqualsAndHashCode
    • 이 주석은 equals(Object other) 및 hashCode() 메서드를 모두 자동 생성한다.
  4. @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
    • 각각 인수가 없는 생성자, 필수 인수만 있는 생성자 또는 모든 인수를 생성하는 생성자를 생성한다.
  5. @Data
    • 여러 주석(@ToString, @EqualsAndHashCode, @Getter 및 @Setter)의 조합으로, 이러한 모든 메서드로 완전한 클래스를 만들어준다.
  6. @Builder
    • 클래스에 대한 복잡한 빌더 API를 생성한다.
  7. @Slf4j
    • 클래스에 대한 로거를 생성하므로 수동으로 선언하지 않아도 된다.
  8. @NonNull
    • Lombok은 해당 필드에 대해 null 검사 문을 보장한다.
  9. @Cleanup
    • 코드 실행 경로를 종료하기 전에 리소스를 자동으로 정리한다.
  10. @Value
    • @Data의 변경 불가능한 변형이다. 모든 필드는 기본적으로 private 및 final로 지정되며 세터는 생성되지 않는다.
  11. @SneakyThrows
    • 메서드의 throws 절에서 선언하지 않고 확인된 예외를 throw할 수 있다.

마치며

Lombok은 많은 이점을 제공하고 Java를 크게 단순하게 할 수 있지만 기능을 이해하지 않으면 잠재적인 위험과 모호성이 존재한다.
그렇기에 기능이 어떤 것을 제공하는지를 제대로 이해하고 사용하는 것이 중요하다.

This post is licensed under CC BY 4.0 by the author.