제네릭 싱글턴 팩토리란?
public class GenericFactoryMethod {
public static final Set EMPTY_SET = new HashSet();
public static final <T> Set<T> emptySet() {
return (Set<T>) EMPTY_SET;
}
}
- 제네릭으로 타입설정 가능한 인스턴스를 만들어두고, 반환 시에 제네릭으로 받은 타입을 이용해 타입을 결정하는 것이다.
예제 코드
@Test
public void genericTest() {
Set<String> set = GenericFactoryMethod.emptySet();
Set<Integer> set2 = GenericFactoryMethod.emptySet();
Set<Elvis> set3 = GenericFactoryMethod.emptySet();
set.add("ab");
set2.add(123);
set3.add(Elvis.INSTANCE);
String s = set.toString();
System.out.println("s = " + s);
}
- 위와 같이 여러 타입으로 내부 객체를 받아도 에러가 나지 않는다.
- 큰 유연성을 제공한다.
결과
s = [ab, item3.Elvis@3439f68d, 123]
제네릭 싱글턴 팩터리가 아니라, 고정된 타입으로 생성했다면 에러가 났을 것이다.
반응형
'Java > 자바 디자인 패턴' 카테고리의 다른 글
추상 팩토리 패턴 (Abstract Factory Pattern) 이란? (0) | 2023.01.24 |
---|---|
팩토리 메서드 패턴 (Factory Method Pattern) 이란? (0) | 2023.01.23 |
싱글톤 패턴 (Singleton Pattern) 이란? (0) | 2023.01.20 |
자바 믹스인(mixins)이란? (0) | 2021.12.30 |
플라이 웨이트 패턴 (0) | 2021.12.22 |