본문 바로가기
java

[Java] 빌더 패턴(Builder Pattern)을 왜 사용해야 하는가?

by 개발자 쿠키 2024. 8. 20.

객체를 생성하기 위한 패턴

1. 생성자 패턴
2. 정적 메소드 패턴
3. 수정자 패턴
4. 빌더 패턴

 

왜 빌더 패턴을 사용해야 하는가?

 

 

1. 필요한 데이터만 설정 가능

User user = new User("찬웅", 27, 100);

@NoArgsConstructor 
@AllArgsConstructor 
public class User { 
    private String name;
    private int age;
    private int iq;

    public User (String name, int age, int iq) {
        this.name = name;
        this.age = age;
        this.iq = iq;
    }
    
    public static User of(String name, int age, int iq) {
        return new User(name, 27, 100);
    }
}

 

이러한 번거로움을 한번에 해결

User user = User.builder()
				.name("찬웅")
				.age(27)
				.iq(100).build();

이렇게 빌더를 사용하면 동적으로 처리 가능
또한, 생성자 또는 정적 메소드와 비교해 테스트용 객체를 생성할 때 용이하게 해줌.

 

 

 

 

요약

엔티티 객체나 도메인 객체로부터 dto를 생성하는 경우면 직접 빌더를 만듬.
변수의 개수나 변경 가능성 등을 중점적으로 보고 빌더패턴을 적용할지 판단하면 된다.

 
 
 
#레퍼런스
https://mangkyu.tistory.com/163#google_vignette