클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자 이다.
정적 팩터리 메서드를 이용한 인스턴스 생성 방식은 다음과 같은 장점이 있다.
BigInteger(int, int, Random)
과 BigInteger.probablePrime
중 어떤 것이 소수를 반환한다는 의미를 더 잘 나타내는지를 생각해보자.class B extends A{
}
class A {
public static getInstance(){
return new B();
}
}
public static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType) {
Enum<?>[] universe = getUniverse(elementType);
if (universe == null)
throw new ClassCastException(elementType + " not an enum");
if (universe.length <= 64)
return new RegularEnumSet<>(elementType, universe);
else
return new JumboEnumSet<>(elementType, universe);
}
public class A {
public static List<interfaceA> getInterfaceA(){
return new ArrayList<>();
}
}