• 객체의 생성과정과 표현방법을 분리하여 객체를 생성하는 방법이다.
  • 가독성과 유지보수성을 증가시키며 객체의 불변성을 유지하도록 도와준다 이는 애플리케이션의 안정성에 귀결된다.
  • 하지만 너무 많이 쓰면 코드의 복잡도가 증가하고, 매개변수가 없는 경우 없는데로 생성하기에 항상 검증이 필요하다