멤버를 비공개로 설정하고 getter 및 setter 메서드를 균일하게 제공하여 안전한 액세스를 보장합니다.
생성자를 비공개로 만들고 일반 정적 메서드로 대체합니다. 생성자에 비해 세 가지 장점이 있습니다. a. 이름이 한눈에 더 의미 있고 명확할 수 있습니다. b. 매번 호출하려면 새 인스턴스를 생성하세요 c. 이 클래스가 아닌 이 클래스의 하위 클래스와 같이 더 유연한 유형을 반환할 수 있습니다. 구문을 단순화하기 위한 유형 추론의 네 번째 이점은 Java 7에 다이아몬드 구문이 도입되면서 개선되었습니다. -- 《Effective Java》 2위
간단한 팩토리 모드와 싱글톤 모드는 유연한 인스턴스 제공, 인스턴스 생성 비용 절감, 일관된 상태 보장 등을 제공할 수 있습니다.
이 getInstance() 메소드:
멤버를 비공개로 설정하고 getter 및 setter 메서드를 균일하게 제공하여 안전한 액세스를 보장합니다.
생성자를 비공개로 만들고 일반 정적 메서드로 대체합니다. 생성자에 비해 세 가지 장점이 있습니다. a. 이름이 한눈에 더 의미 있고 명확할 수 있습니다. b. 매번 호출하려면 새 인스턴스를 생성하세요 c. 이 클래스가 아닌 이 클래스의 하위 클래스와 같이 더 유연한 유형을 반환할 수 있습니다. 구문을 단순화하기 위한 유형 추론의 네 번째 이점은 Java 7에 다이아몬드 구문이 도입되면서 개선되었습니다. -- 《Effective Java》 2위
f는 새로운 Factory() 클래스입니다. getinstance는 팩토리 클래스의 인스턴스화입니다. 이 메소드를 호출하여 클래스의 인스턴스화를 얻은 다음 팩토리 클래스의 내부 메소드를 호출할 수 있습니다