SEARCH : 이펙티브 자바(1) CATEGORY : 이펙티브 자바(1) TAGS : 이펙티브 자바(1) ARCHIVE : 이펙티브 자바(1) 02장 객체 생성과 파괴 (ITEM 01 ~ 09) 2021. 7. 30. ITEM 01 생성자 대신 정적 팩터리 메서드를 고려하라. 클래스 인스턴스화는 생성자뿐만 아니라 정적 팩터리 메서드를 통해서도 제공할 수 있다. 생성자 대신 정적 팩터리 메서드를 사용하면 얻을 수 있는 장점은 다음과 같다. 메서드명을 가질 수 있어 어떤 성격의 객체를 생성해주는것인지 명시될 수 있다. 호출될 때마다 생성자 처럼 인스턴스를 새로 생성하지 않아도 되므로 싱글턴 패턴이나 캐싱을 구현할 수 있다. 반환 타입의 하위 타입 객체를 반환할 수 있다. 클라이언트가 new 연산자를 통해 인스턴스화를 직접하지 않으므로 클라이언트는 인스턴스화되는 클래스와의 결합도가 낮아진다. 그러나 클래스가 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다. 왜냐하면 상속을 하려면 public이나 protected.. Previous 1 Next