1. 생성자 대신 정적 팩터리 메서드를 고려하라

정적 팩터리 메서드란

클래스의 인스턴스를 반환하는 팩터리 메서드

팩터리 메서드가 생성자보다 좋은 장점 다섯 가지

단점

2. 생성자에 매개변수가 많다면 빌더를 고려하라

클래스에 매개변수가 많다면..?

프로그래머들은 이럴 때 매개변수를 하나씩 늘려가며 모든 멤버 변수를 가지는 생성자들을 만들곤 했다. ⇒ 점층적 생성자 패턴

매개변수가 많아지면 클라이언트 코드를 작성하거나 읽기 어렵다.

또는 매개변수가 없는 생성자로 객체를 생성한 후 Setter로 매개변수를 채우는 방법을 사용함 ⇒ 자바빈즈 패턴

자바빈즈 패턴의 심각한 결함은 객체 하나를 만드려면 메서드를 여러개 호출해야 하고, 객체가 완전히 생성되기 전까지는 일관성이 무너진다.

이러한 단점을 완하하고자 생성이 끝난 객체를 수동으로 “얼리고” 얼리기 전에는 사용할 수 없도록 하기도 한다.

빌더 패턴의 등장