lombok에서 제공하는 @Builder 어노테이션은 반복적으로 비슷한 형태의 코드 작성을 줄이고 빌더 패턴을 사용하는 데 도움이 되는 기술이다. 해당 어노테이션을 클래스 또는 메소드에 적용시킬 수 있다. 특히 필드가 많은 클래스를 다룰 때 편리한 어노테이션이다.
클래스 레벨에 @Builder를 선언하면 해당 클래스의 모든 필드에 대한 빌더를 생성한다.
@Builder
public class Student {
private String name;
private int age;
private String job
private String city
}
특정 필드에 대한 빌더를 생성하려면 해당 필드만 포함하는 생성자를 생성해야 한다. 그런 다음 해당 생성자에 @Builder 어노테이션을 적용시키면 Lombok은 생성자 매개변수만 포함하는 빌더 클래스를 생성한다.
public class Student {
private String name;
private int age;
private String job
private String city
@Builder
public Student(String name, String age) {
this.name = name;
this.age = age;
}
}
Member member = Member.builder()
.name("홍길동")
.age(25)
.job("무직")
.city("서울")
.build();