FlowerBombs

SingleTone패턴 (!) 본문

JAVA

SingleTone패턴 (!)

CitronLemon 2019. 3. 1. 16:54

SingleTone패턴


프로그램 내의 여러 곳에서 반복적으로 사용되어야 하는 객체에 대해 전역적인 범위를 갖도록 객체를 생성하고, 이 객체를 여러 곳에서 공유하기 위한 클래스 작성 패턴

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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를 통한 객체 생성 방지
 
}
 
cs


멤버변수 없이 메서드만을 내장하는 클래스의 경우 싱글톤으로 구성하면 메모리를 효율적으로 사용하게 된다.






싱글톤 패턴 클래스의 객체를 생성할 경우 메서드를 통해서 객체를 리턴받아야 한다.


1
2
3
// 언제 어디서 몇 을 호출하건 시스템 전역적으로 단 하나의 객체를 생성해서
// 프로그램의 모든 곳에서 공유한다.
HelloWorld h = HelloWorld.getInstance();
cs



멤버변수 없이 메서드만을 내장하는 클래스의 경우 싱글톤으로 구성하면 메모리를 효율적으로 사용하게 된다.

'JAVA' 카테고리의 다른 글

익명 클래스(Anonymous Class)  (0) 2019.03.01
Inner Class(이너 클래스)  (0) 2019.03.01
Static  (0) 2019.03.01
인터페이스  (0) 2019.02.28
추상화  (0) 2019.02.28
Comments