1. 빌더 패턴이란?
빌더 패턴(Builder Pattern)은 복잡한 객체의 생성 과정을 단계별로 나누어 정의하고, 그 과정들을 순차적으로 호출하여 최종적으로 완성된 객체를 생성하는 생성 패턴입니다. 이 패턴은 특히 객체 생성 과정에서 다양한 옵션이나 설정이 필요하거나, 생성해야 할 객체가 복잡할 때 유용하게 사용됩니다.
2. 빌더 패턴 예제
2.1) Person 클래스를 만들어 id, name, age, email 이란 데이터 덩어리를 만들어준다. 이때, id와 age는 null 값이 들어갈 수 있으므로 int 가 아닌 Integer를 사용한다.
2.2) Person에 private를 사용하여 객체를 제한한다.
2.3) Person을 사용하기 위해 static를 사용하여 new Person을 만들어준다.
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;
}
}2.4) main 에서 Person을 호출시켜 builder를 사용하고 데이터를 입력해준다.
이때, builder의 장점은 null값을 넣더라도 전부 오버로딩을 해줄 필요가 없고, 데이터를 순서에 상관없이 넣어줄 수 있다.
public class App {
public static void main(String[] args) {
Person p1 = Person.builder().id(1).name("홍길동").email("sss@nate.com");
System.out.println(p1.getAge());
}
}Share article