싱글톤은 하나의 애플리케이션에서 단 하나만 생성되는 객체이다. 싱글톤을 사용하는 방법은 다음과 같다.

 

1. 외부에서 new 연산자로 생성자를 호출할 수 없도록 함

    → static

2. private 접근 제한자를 붙임(생성자 앞)

3. 정적 필드 선언

    → 자신의 객체를 생성해 초기화

4. private 접근 제한자 붙여 캡슐화

5. 외부에서 호출할 수 있는 정적 메소드인 getInstance() 선언

    → 정적 필드에서 참조하고 있는 자신의 객체를 리턴

 

SingletonDAOSingletonMain 두 개의 클래스를 생성해서 확인 했다.

 

class SingletonDAO {

 

private SingletonDAO(){}

 

private static SingletonDAO instance = new SingletonDAO();

public static SingletonDAO getInstance(){

 return instance;

}

 

void mTest(){

 System.out.println("Singleton 확인");

}

}



class SingletonMain {

 

public static void main(String args[]){

 SingletonDAO obj = SingletonDAO.getInstance();

 //SingletonDAO obj0= new SingletonDAO(); //컴파일 에러 

 obj.mTest();

}

}

 

new 생성자를 사용하지 않고 getInstance()SingletonDAO 클래스에 있는 값을 호출했다. new 연산자를 사용하면 컴파일 에러가 발생한다. 

+ Recent posts