생성자 대신 정적 팩터리 메서드를 고려하라. 장점 이름을 가질 수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 반환 타입의 하위 타입 객체를 반환할 수 있다. (반환할 객체의 클래스를 자유롭게 선택할 수 있다.) 정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. (인터페이스를 반환해도 된다.) 단점 상속을 하려면 public이나 protected 생성자가 필요해서, 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다. 정적 팩터리 메서드는 프로그래머가 찾기 어렵다. 클래스를 인스턴스화 하는 방법을 API 문서에 잘 써놓아야 한다. 흔히 사용되는 명명 방식: from, of, valueOf, instance, getInstance, create, ..