Study/Java
생성자 대신 static 팩토리 메소드 사용을 고려하자.
유쾌한순례자
2010. 11. 9. 01:04
static 팩토리 메소드
생성자와 달리 호출될때마다 매번 새로운 객체를 생성할 필요가없다.
자신이 반환하는 타입의 어떤 서브타입 객체도 반환할 수 있다.
자바 데이터베이스 연결 API(JDBC) 와 같은 서비스 제공자 프레임워크의 근간이 됨.
메소드를 정의한 클래스가 public 이나 protected 생성자를 제공하지 않으면, 다른 클래스가 이 클래스를 상속받을 수 없다.
public class Elvis{ private static final Elvis INSTANCE = new Elvis(); private Elvis(){ } //스태틱 메소드 사용 public static Elvis getInstance(){ return INSTANCE; } public void test(){ System.out.println("test");
} } //Elvis.getInstance로 객체를 사용