싱글톤은 하나의 애플리케이션에서 단 하나만 생성되는 객체이다. 싱글톤을 사용하는 방법은 다음과 같다.
1. 외부에서 new 연산자로 생성자를 호출할 수 없도록 함
→ static
2. private 접근 제한자를 붙임(생성자 앞)
3. 정적 필드 선언
→ 자신의 객체를 생성해 초기화
4. private 접근 제한자 붙여 캡슐화
5. 외부에서 호출할 수 있는 정적 메소드인 getInstance() 선언
→ 정적 필드에서 참조하고 있는 자신의 객체를 리턴
SingletonDAO와 SingletonMain 두 개의 클래스를 생성해서 확인 했다.
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 연산자를 사용하면 컴파일 에러가 발생한다.
'문돌이의 IT > 자바(Java)' 카테고리의 다른 글
자바(Java) Abstract 추상클래스, 추상메소드 (0) | 2016.03.16 |
---|---|
자바(Java) final의 사용방법 (0) | 2016.03.15 |
자바(Java) 정적(static)멤버, 정적초기화블럭 (0) | 2016.03.13 |
자바(Java) instanceof, getClass 활용예제 (0) | 2016.03.12 |
자바(Java) instanceof 사용방법 (0) | 2016.03.11 |