lombok - @Builder

박민수·2023년 11월 15일

lombok - @Builder

lombok에서 제공하는 @Builder 어노테이션은 반복적으로 비슷한 형태의 코드 작성을 줄이고 빌더 패턴을 사용하는 데 도움이 되는 기술이다. 해당 어노테이션을 클래스 또는 메소드에 적용시킬 수 있다. 특히 필드가 많은 클래스를 다룰 때 편리한 어노테이션이다.

클래스 레벨에 @Builder 적용

클래스 레벨에 @Builder를 선언하면 해당 클래스의 모든 필드에 대한 빌더를 생성한다.

@Builder
public class Student {

    private String name;
    private int age;
    private String job
    private String city
}

생성자 레벨에 @Builder 적용

특정 필드에 대한 빌더를 생성하려면 해당 필드만 포함하는 생성자를 생성해야 한다. 그런 다음 해당 생성자에 @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();
profile
안녕하세요 백엔드 개발자입니다.

0개의 댓글