[GoF] Singleton 패턴

패턴명칭

Singleton

필요한 상황

프로그램에서 오직 딱 하나의 객체만 생성하도록 하는 장치이다.

예제 코드

생성자를 private로 지정하여 외부에서 절대로 생성할 수 없도록 한다.

package pattern;

public class Singleton {
	private static Singleton self = null;
	private Singleton() {}
	
	public synchronized static Singleton getInstance() {
		if(self == null) {
			self = new Singleton();
		}
		return self;
	}
	
	public void print() {
		System.out.println("I am only one.");
	}
}

사용하는 코드는 다음과 같다.

package pattern;

public class Main {
	public static void main(String[] args) {
		Singleton s = Singleton.getInstance();
		s.print();
	}
}
이 글은 소프트웨어 설계의 기반이 되는 GoF의 디자인패턴에 대한 강의자료입니다. 완전한 실습을 위해 이 글에서 소개하는 클래스 다이어그램과 예제 코드는 완전하게 실행되도록 제공되지만, 상대적으로 예제 코드와 관련된 설명이 함축적으로 제공되고 있습니다. 이 글에 대해 궁금한 점이 있으면 댓글을 통해 남겨주시기 바랍니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다