Effective Java 2E 정리하기 1편
juneyr··
Effective Java 2E
78개의 규칙들
2장 객체의 생성과 삭제
규칙 2 생성자 인자가 많을 때는 Builder 패턴을 고려해라
- Static Factory 패턴과 생성자는 선택적 인자가 많은 상황에 도입하기가 어렵다.
기존 패턴들
점층적 생성자 패턴 : 필수인자를 갖는 생성자를 정의하고, 선택적 인자 1개를 갖는 생성자, 2개를 갖는 생성자 등을 차례로 정의하는 방법.
- 단점:
점층적 생성자 패턴은 인자 수가 늘어나면 클라이언트 코드를 작성하기 어려워지며, 읽기 어려워진다는 단점이 있다.
JavaBeans : 인자가 없는 생성자들을 호출하여 객체를 만들고, setter 메소드를 호출하여 필수 필드와 선택 필드의 값을 채워준다.
- 장점:
점층적 생성자 패턴의 문제가 없다. 작성해야하는 코드의 양이 좀 많아지지만, 객체 생성이 쉽고 읽기도 좋다. - 단점: 1회의 함수 호출로 객체 생성을 끝낼 수 없으므로, 객체의 일관성이 일시적으로 깨질 수 있다.
JavaBeans패턴으로는 immutable 클래스를 만들수 없다.