Item1: 생성자 대신 정적 팩터리 메서드를 고려하라
일반적인 클래스의 인스턴스를 생성하는 방법은 public 생성자를 호출하는 방법이다. 하지만 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 해당 클래스의 인스턴스를 반환하는 단순한 정적 메서드에 대해 알아본다.
일반적인 클래스의 인스턴스를 생성하는 방법은 public 생성자를 호출하는 방법이다. 하지만 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있다. 해당 클래스의 인스턴스를 반환하는 단순한 정적 메서드에 대해 알아본다.
정적 팩터리와 생성자는 선택적 매개변수가 많을 경우 적절히 대응하기 어려운 제약을 가진다. 즉, 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기가 어렵다. 이러한 경우에 활용할 수 있는 자바빈즈 패턴(JavaBeans pattern)과 더 나아가 해당 패턴의 단점을 개선한 빌더 패턴(Builder pattern)에 대해 알아본다.