특정 객체를 생성할 때, 서로 다른 구성의 생성자를 사용해야 하는 경우가 있음. 실제 생활에서 예를 들면, 놀이공원을 갈 때 모든 사람이 동일한 구성으로 즐기지 않음. 자유이용권을 사는 사람도 있고, After 4 이용권을 사는 사람도 있으며, 안에서 밥만 먹고 나오는 사람도 있음.
이런 경우 모든 경우의 수에 대해 생성자를 만들어야 할까? Java나 C++의 경우 생성자 오버로딩
을 통해 이런 경우를 해결해야 하는데 가독성 등에 문제가 생길 여지가 많음. 따라서 이를 위해 빌더 패턴을 사용함.
팩토리를 사용하는 경우에 비해 객체를 만들기 위해서 클라이언트에 대해 더 많이 알아야 합니다.