Contents
빌더 패턴을 사용하는 이유빌더 패턴(Builder Pattern)은 객체 생성 디자인 패턴 중 하나로, 복잡한 객체의 생성 과정을 단계별로 분리하여 그 과정을 캡슐화하고, 최종적으로 객체를 생성하는 방식을 제공하는 패턴입니다. 이 패턴은 특히 생성자가 너무 많거나, 생성자의 매개변수에 따라 객체를 다양하게 설정할 필요가 있을 때 유용합니다.
package ex09;
public class App {
public static void main(String[] args) {
Person p1 = Person.builder().id(1).name("홍길동").age(20).email("wodud6967@naver.com");
Person p2 = Person.builder().id(2).name("홍길동");
System.out.println(p2.getAge());
}
}
package ex09;
//빌더패턴
//생성자오버로딩 및 생성자 매개변수의 순서를 기억할 필요가 없다.
//기본자료형보다는 매핑클래스를 사용하자 int를 찍으면 널이아니라 0이 찍히므로 null이 나오게 매핑클래스로 만들자
//나중에 LOMBOK을 사용하면 어노테이션 @builder를 사용하면 된다.
public class Person {
private Integer id;
private String name;
private Integer age;
private String email;
private Person(){}
public static Person builder(){
return new Person();
}
public Person id(Integer id){
this.id = id;
return this;
}
public Person name(String name){
this.name = name;
return this;
}
public Person age(Integer age){
this.age = age;
return this;
}
public Person email(String email){
this.email = email;
return this;
}
public Integer getId() {
return id;
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
public String getEmail() {
return email;
}
}
빌더패턴을 사용하지 않으면 오버로딩을 통해서 필요한 초기세팅만큼 생성자를 만들어야하는 번거러움을 벗어날 수 있다.
빌더 패턴을 사용하는 이유
- 유연성: 객체의 구성 요소를 단계적으로 설정할 수 있으므로, 필요한 요소만 선택적으로 설정할 수 있습니다.
- 가독성: 복잡한 생성자를 사용하는 대신, 빌더 메서드를 사용하여 코드의 가독성을 높일 수 있습니다.
- 불변성: 빌더 패턴은 보통 불변 객체를 생성하는 데 사용됩니다. 즉, 한 번 생성된 객체는 변경할 수 없도록 설계할 수 있습니다.
Share article