본문 바로가기

개발/JAVA

[Lombok] @Singular 어노테이션

반응형

@Singular 어노테이션은 Lombok 라이브러리에서 제공하는 어노테이션 중 하나이다.

 

이 어노테이션은 컬렉션을 포함하는 클래스의 빌더(builder) 메서드에 대한 코드를 간소화 할 수 있도록 해준다.

 

보통 불변(immutable) 객체를 생성하는 빌더 패턴에서 유용하게 사용할 수 있다.

 

import lombok.Builder;
import lombok.Singular;

import java.util.List;

@Builder
public class Example {
    private String name;
    private int age;

    @Singular private List<String> hobbies;

    // Getter 메서드도 자동으로 생성됨
}

 

코드에서 @Builder 어노테이션은 빌더 패턴을 사용하기 위한 메서드를 생성한다.

그리고 @Singular 어노테이션은 컬렉션 타입인 List<String> 필드 hobbies를 단일 원소 또는 컬렉션으로 설정할 수 있도록 만들어 준다.

 

이제 아래와 같이 사용할 수 있다.

Example example = Example.builder()
    .name("John")
    .age(25)
    .hobby("Reading")
    .hobby("Traveling")
    .build();

 

hobby 메서드에 단일 원소 또는 컬렉션을 추가할 수 있어 가독성을 향상 시킬 수 있다.

반응형