싱글톤패턴은 객체가 전역적으로 하나만 존재하도록 하는 기법이다.
1. 정의
싱글톤 패턴(Singleton Pattern)은 생성 패턴(Creational Pattern)중 하나로, 생성된 인스턴스가 오직 하나만 존재하도록 보장하고, 이 인스턴스에 대한 전역적인 접근을 제공하는 디자인 패턴이다. 즉, 클래스의 인스턴스가 애플리케이션 내에서 하나만 생성되도록 하여, 그 인스턴스를 어디서든 동일하게 접근할 수 있게 만든다.
2. 예제 코드
public class Doorman {
static Doorman instance = new Doorman();
private Doorman() {}
// DIP -> Dependency Inversion Principle
public void 쫓아내(Animal animal) {
System.out.println(animal.getName() + "쫒아내");
}
}
public class App {
public static void main(String[] args) {
Doorman doorman = Doorman.instance;
Doorman doorman2 = Doorman.instance;
System.out.println(doorman.hashCode());
System.out.println(doorman2.hashCode());
Animal cat = new Cat();
Animal mouse = new Mouse();
doorman.쫓아내(cat);
doorman.쫓아내(mouse);
}
}
3. 정리
Doorman
클래스static Doorman instance = new Doorman();
를 통해Doorman
클래스의 유일한 인스턴스를 생성한다.private Doorman()
생성자를private
으로 설정하여 외부에서Doorman
객체를 직접 생성할 수 없게 막는다.
App
클래스doorman
과doorman2
는Doorman.instance
를 통해Doorman
의 유일한 인스턴스에 접근한다.hashCode()
메서드를 활용하여 두 객체가 동일한 인스턴스를 참조하는지 확인할 수 있다.
793589513
793589513
고양이쫒아내
쥐쫒아내
Share article