재유's

[JAVA] 싱글톤 (SingleTon) 본문

IT Story/Java

[JAVA] 싱글톤 (SingleTon)

Stella_NY 2018. 12. 11. 10:20

싱글톤 (SingleTon)

  • 프로그램 내의 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역적인 범위를 갖도록 객체를 생성하고, 이 객체를 여러 곳에서 공유하기 위한 클래스 작성 패턴
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class HelloWorld {
    private static HelloWorld current;         // 스스로의 객체를 static으로 선언
 
    public static HelloWorld getInstance() {
        if (current == null){
            current = new HelloWorld();
        }
        return current;
    }
    public static void freeInstance(){
        current = null;
    }
    private HelloWorld(){}         // 생성자는 은닉 --> 외부에서 new를 통한 객체 생성 방지
}



  • 싱글톤 패턴 클래스의 객체를 생성할 경우 메서드를 통해서 객체를 리턴받아야 한다.
1
2
3
// 언제 어디서 몇 번을 호출하건 시스템 전역적으로 단 하나의 객체를 생성해서
// 프로그램의 모든 곳에서 공유한다.
HelloWorld h = HelloWorld.getInstance();




  • 싱글톤을 사용하는 경우
    • 멤버변수 없이 메서드만을 내장하는 클래스의 경우  => 메모리를 효율적으로 사용


'IT Story > Java' 카테고리의 다른 글

[JAVA] For문 (반복문)  (0) 2018.12.11
[JAVA] 상속 (Inheritance)과 다형성(Polymorphism)  (0) 2018.12.11
[JAVA] Static  (0) 2018.12.11
[JAVA] 은닉성 (encapsulation)  (0) 2018.12.07
[JAVA] 생성자(Constructor)  (0) 2018.12.07
Comments