[Lombok] @Builder와 @Singular 알아보기

Yujeong·2024년 3월 10일
post-thumbnail

롬복의 @Builder 공식문서를 읽다보니 @Singular에 대해 알게 되어서 찾아보고 정리한다.

  • @Builder: 클래스에 대한 빌더를 자동으로 생성하여 객체를 생성 및 초기화하는 데 사용된다.
  • @Singular: 컬렉션 필드에 대해 단일 메서드를 생성하여 개별 요소를 추가할 때 사용된다.
    예를 들어, 컬렉션에 요소를 추가할 때 addMember() 대신 member() 메서드를 사용할 수 있다.
import lombok.Builder;
import lombok.Singular;

@Builder
public class Car {
    private final String make;
    private final String model;
    private final int year;
    private @Singular Set<String> features;
}
public class Main {
    public static void main(String[] args) {
        Car car = Car.builder()
          .make("kia")
          .model("k8")
          .year(2024)
          .feature("sunroof")
          .feature("leather seats")
          .build();
    }
}

@Singular을 사용하여 Car 클래스에 features라는 set을 추가했다. 이렇게 하면 Car 객체를 생성할 때 여러 기능을 간편하게 추가할 수 있다. 코드를 실행하면, features에 "sunroof"와 "leather seats"라는 기능이 추가된 Car 객체가 생성된다.


참고
@Builder @Singular
Using the @Singular Annotation with Lombok Builders

profile
공부 기록

0개의 댓글