JAVA
[JAVA] 싱글톤(Singleton) 패턴이란?
charBS
2022. 1. 5. 15:54
싱글톤(Singleton) 패턴이란 ?
디자인 패턴이라는 분야가 있다. 디자인 패턴이란 객체 지향 프로그밍을 할 때 자주 발생하는 문제들을 피하기 위해, 효율적인 객체지향 프로그래밍, 그리고 추후의 유지보수를 편리하게 하기위하여 제안된 패턴.
4명이 집필한 논문으로 23개의 패턴으로 제안되었으나 현재는 수천여개의 패턴이 발표되어 있다고한다.
싱글톤 패턴은 그 23개의 디자인 패턴중 하나이다.
싱글톤 패턴을 사용하는 경우는 ?
싱글톤 패턴은 클래스의 인스턴스가 단 하나만 선언되어야 할 때 사용하는 패턴이다.
인스턴스가 여러개이면 문제가되는경우, 예를 들어 학교나 회사 등의 조직을 프로그래밍 할 때, '학교' 객체는 하나여야 한다.
싱글톤 패턴의 사용법
- 생성자를 private로 선언
외부에서 클래스의 인스턴스를 함부로 생성하지 못하도록 private로 선언
private School() {
// 초기화
}
- 클래스 내부에 유일한 private 인스턴스 생성
private로 선언하였기 때문에 클래스 내부에서 인스턴스를 생성한다
private static School instance = new School();
- 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공
public static School getInstance() {
return instance;
}
static메서드로 선언해서 외부 클래스에서 School.getInstance()로 단 하나의 School 인스턴스를 호출할 수 있다.