관리 메뉴

너와 나의 스토리

[Java] 싱글톤(Singleton)을 만들자! 본문

Programming Language/Java

[Java] 싱글톤(Singleton)을 만들자!

노는게제일좋아! 2021. 4. 7. 22:26
반응형

싱글톤(Singleton)

  • 하나의 클래스로부터 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야 하는 경우가 있다.
    • 이때, 유일하게 생성된 이 객체를 싱글톤이라고 한다.
  • 싱글톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다.
    • 방법: 생성자 앞에 private을 붙이면 된다.
  • 그렇다면 객체 한 번은 어떻게 생성하는가?
    1. 클래스 내에 해당 클래스 타입을 가지는 static field를 선언 및 초기화해준다.
    2. 이 static field를 리턴하는 static method를 생성한다.
  • 예:
public class ClassName {
   
    private static ClassName singleton = new ClassName();

    private className(){}
    
    static ClassName getInstance() {
        return singleton;
    }
    
}
  • 외부에서 객체를 얻는 유일한 방법은 getInstance() 메서드를 호출하는 방법이다.
    • getInstance() 메서드는 (동일한) 단 하나의 객체만 리턴하기 때문에 여러 번 호출돼도 동일한(singleton) 객체만 참조하게 된다.

 

 

 

출처:

- [이것이 자바다]

반응형
Comments