8.싱글톤패턴

강재영's avatar
Aug 14, 2024
8.싱글톤패턴
 
💡
싱글톤 패턴(Singleton Pattern)은 객체 생성 디자인 패턴 중 하나로, 클래스의 인스턴스를 하나만 생성하고, 그 인스턴스에 전역적인 접근을 제공하는 패턴입니다. 이 패턴은 특정 클래스의 인스턴스가 애플리케이션 전체에서 하나만 존재해야 하는 경우에 유용하게 사용됩니다.
 
package ex04; public class App { public static void main(String[] args) { Doorman d1 = Doorman.instance; Doorman d2 = Doorman.instance; System.out.println(d1.hashCode()); System.out.println(d2.hashCode()); } }
 
package ex04; public class Doorman { public static Doorman instance = new Doorman(); //생성자 막기 다른곳에서 new 하는것을 금지해버림 private Doorman(){} public void 쫒아내(Animal a){ System.out.println(a.getName() + "를 쫒아내"); } }
 
실행되는 과정을 정리
1.메인시작전에 static을 찾아 Doorman클래스에 staic메모리에 저장을하고
2.new객체를 생성하면 heap메모리영역에 ‘쫒아내’라는 stack이 저장된다
3.추후 main에서 Doorman클래스의 instace를 이용해서 new객체를 참조할수있다.
 
  • 싱글톤패턴은 특정 클래스의 인스턴스가 단 하나만 존재하도록 보장하는 패턴입니다. 즉, 전역적인 접근성과 인스턴스의 유일성을 보장합니다.
  • 빌더 패턴은 복잡한 객체를 단계별로 생성할 수 있게 도와주는 패턴으로, 객체 생성 로직을 캡슐화하고, 클라이언트 코드에서 객체 생성의 복잡성을 줄여줍니다.

사용하는 이유

💡
나는 단 하나의 인스턴스만이 존재하는 객체를 만들고 싶다 그렇기에 생성자를 private로 만들어 호출을 못하게 막았고 new로 호출을 못하니 main메서드 시작전에 static으로 instance를 만들어 호출을 클래스의 instance로 호출할 수 있게 하였다.
 
Share article

강재영 블로그