프로젝트를 진행하며 builder annotation을 마구잡이로 사용했다.
근데 사용 중 @Builder.default에 대해 궁금해서 찾아보던 중 깨달았다...
나는 @Builder를 사용하고 있었으나 잘 알지 못했던 것 같다...
@Builder는 생성자, 메서드 또는 클래스 레벨에서 쓰일 수 있다.
위를 활용해서 default 값을 지정할 수 있다.
기본적으로, 코드가 아래와 같다면
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Pojo {
private String name;
private String nickname;
}
각 필드 위에 @Builder.default를 선언하여 builder 패턴에서 default 값을 지정해 줄 수 있다.
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Pojo {
@Builder.Default
private String name = "이츠미";
@Builder.Default
private String nickname = "중꺾마";
}