소개
•
Product라고 부르는 다음과 같은 클래스가 있다고 가정해보자.
class Product {
public Product(int weight, double price, int shipVolume, int shipCode) {
...
}
...
}
Java
복사
•
이 객체는 불변 객체다. 생성 시 한 번만 값이 갱신되며 이후 속성이나 상태가 변경되지 않는 객체다.
•
이런 불변 객체들을 생성자로 생성할 때, 다양한 매개변수들을 제공하므로 이 순서를 헷갈릴 경우, 원치않는 상태나 속성을 가지는 객체를 생성하게될 위험이 있다.
•
Builder 패턴은 객체 생성 과정이 복잡할 때 도움을 줄 수 있다.
•
또한 코드에서 인스턴스를 만드는 것과 관련된 로직을 제거하고 이를 분리된 클래스로 추상화하여 사용자가 쉽게 클래스를 만들 수 있도록 도와준다.