목록으로
Spring

Lombok

Dev Park
7/12/2023
29 views

서론

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

Lombok이란?

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

Lombok을 사용해야하는 이유?

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

Lombok의 주요기능

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

@Getter/Setter

  • getter 및 setter 메소드를 자동으로 작성해 준다.

@ToString

  • 클래스의 필드를 기반으로 toString() 메서드를 자동으로 생성해준다.

@EqualsAndHashCode

  • 이 주석은 equals(Object other) 및 hashCode() 메서드를 모두 자동 생성한다.

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

  • 각각 인수가 없는 생성자, 필수 인수만 있는 생성자 또는 모든 인수를 생성하는 생성자를 생성한다.

@Data

  • 여러 주석(@ToString, @EqualsAndHashCode, @Getter 및 @Setter)의 조합으로, 이러한 모든 메서드로 완전한 클래스를 만들어준다.

@Builder

  • 클래스에 대한 복잡한 빌더 API를 생성한다.

@Slf4j

  • 클래스에 대한 로거를 생성하므로 수동으로 선언하지 않아도 된다.

@NonNull

  • Lombok은 해당 필드에 대해 null 검사 문을 보장한다.

@Cleanup

  • 코드 실행 경로를 종료하기 전에 리소스를 자동으로 정리한다.

@Value

  • @Data의 변경 불가능한 변형이다. 모든 필드는 기본적으로 private 및 final로 지정되며 세터는 생성되지 않는다.

@SneakyThrows

  • 메서드의 throws 절에서 선언하지 않고 확인된 예외를 throw할 수 있다.

마치며

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