Generic 팩토리 메소드
참조: http://www.ibm.com/developerworks/kr/library/j-jtp04298.html
흠.. 제네렉 타입을 사용한 객체를 생성할 때 유용할 것 같습니다.
Box<String> box = new BoxImpl<String>();
보통 제네릭 타입을 사용한 객체를 생성할 때 저렇게 String이라는 타입을 두 번이나 입력해야 하는데..
public class BoxImpl<T> implements Box<T> {
public static<V> Box<V> make() {
return new BoxImpl<V>();
}
...
}
이렇게 make라는 팩토리 메소드를 만들어 두면..
Box<String> myBox = BoxImpl.make();
이렇게 타입을 한 번만 지정해도 되는군요. 오호~ 괜찮군요. 근데 굳이 V 라고 안하고 그냥 T 계속 써도 될텐데, 굳이 구분할 필요가 있었나..흠. 어차피 같은 타입 지칭하는건데..
V대신 T를 써도 무방하긴 하지만, 이 예제는 왠지 컴파일러가 제네릭 타입을 선택하는 과정을 보여주기 위해, V를 둔것 같습니다.