FlowerBombs
SingleTone패턴 (!) 본문
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