참고: 유튜브로 보기 (상단 이미지 클릭)
일반적인 인스턴스 생성 방식은 생성자(Constructor)를 이용하는 방법이 있다.
이 외에도 정적 팩터리 메서드(static factory method)를 제공 할 수 있다.
아래는 정적 팩터리 메서드 사용 시 장점과 단점에 대해 열거한다.
// 호출될 때마다 매번 새로운 객체를 생성할 필요가 없다.
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
// 입력 매개변수에 따른 클래스의 다른 객체 반환 예제
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);
}