정적 팩터리 메서드
-
Item 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라Book/Effective Java 3E 2022. 10. 7. 08:39
싱글턴(singleton)이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말합니다.[Gamma95] 싱글턴의 전형적인 예로는 함수와 같은 무상태(stateless) 객체나 설계상 유일해야 하는 시스템 컴포넌트를 들 수 있습니다. 그런데 클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있습니다. 싱글턴 생성 방식 1. final 필드 package effectivejava.chapter2.item3.field; // 코드 3-1 public static final 필드 방식의 싱글턴 public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() { } public void lea..
-
Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라Book/Effective Java 3E 2022. 10. 2. 10:53
클래스는 생성자와 별도로 정적 팩터리 메서드(static factory method)를 제공할 수 있습니다. 그 클래스의 인스턴스를 반환하는 단순한 정적 메서드입니다. // 생성자 private final boolean value; public Boolean(boolean value) { this.value = value; } // 정적 팩터리 메서드 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 장점 이름을 가질 수 있습니다. 정적 팩터리는 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있습니다. 예컨대 생성자인 BigInteger(int, int, Random)과 정적 팩터리 메서드인 ..