[디자인 패턴] 5 싱글톤 패턴(Singleton Pattern)

류재성's avatar
May 28, 2024
[디자인 패턴] 5 싱글톤 패턴(Singleton Pattern)
 
 
이전 블로그 정리 내용을 참고하면 된다.
 

1. 싱글톤 패턴이란 ?

 
💡
싱글톤 패턴(Singleton Pattern)은 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하고, 그 인스턴스에 전역적인 접근을 제공하는 패턴이다. 이 패턴은 애플리케이션 전체에서 공통된 자원이나 설정을 관리하는 데 유용하다.
 
 
notion image
 

2. 구현하기

 
package ex05; //목적 : 문지기를 메모리에 하나만 띄우고 싶다. public class Doorman { public static Doorman instance = new Doorman(); // instance는 static에 저장, new Doorman() 는 heap 에 저장 private Doorman() {} public void 쫓아내(Animal animal) { System.out.println(animal.getName() + " 을 쫓아내"); } }
 
💡
Doorman 클래스를 static 으로 만들어 클래스가 로드될 때 메모리에 한 번만 뜬다. instance 변수를 활용해 전역에서 변수를 사용할 수 있다.
 
package ex05; // 전략 패턴 // 풀링 : pooling ( 객체를 10개 정도 유지하는 기법으로 구현해보기) public class App { public static void main(String[] args) { Animal tiger = new Tiger(); Doorman doorman = Doorman.instance; doorman.쫓아내(tiger); } }
 
💡
싱글톤 패턴으로 만들면 Doorman 클래스를 실행할 때 메모리에 새롭게 띄울 필요없이 Doorman.instance 만 호출하면 사용할 수 있다.
Share article

{CODE-RYU};