본문 바로가기
Java

[JAVA] 싱글톤 패턴(Singleton pattern)

by ejxousiva(ἐξουσία) 2022. 9. 15.
반응형
  • 프로그램에서 하나의 객체(인스턴스)만 만들도록 보장해야하는 경우 사용
  • new 연산자로 객체를 생성하지 못하도록 생성자를 private 으로 선언
  • static 으로 유일한 객체 생성
  • 외부에서 유일한 객체를 참조할 수 있는 public static get() 메서드 작성 구현
public class *클래스* {
	// 정적 객체
	private static *클래스* *객체* = new *클래스*();
	
	// 생성자
	private *클래스*() {...}
	
	// 정적 메서드
	static *클래스* getInstance() {
		if(*객체* == null) {
			*객체* = new *클래스*();
		}
		return *객체*;
	}
}

*클래스* obj = *클래스*.getInstance();

예시) java.uitl.Calendar 클래스

import java.util.Calendar;

Calendar calendar = Calendar.getInstance();

// 생성 불가
Calendar calendar = new Calendar();