본문 바로가기

싱글톤 패턴2

싱글톤 패턴 (Singleton Pattern) 프린터를 관리하는 프로그램이 있다고 가정하자. public class Printer { public Printer() {} public void print(Resource r) { ... } } Printer 클래스를 사용해 프린터를 이용하려면 new Printer()로 생성하면 된다. 하지만 new Printer()를 하면 무한대로 프린터를 할당할 수 있기 때문에 Printer 생성을 막고자하면 private로 선언하면 된다. public class Printer { private Printer() {} public void print(Resource r) { ... } } 이렇게 되면 외부에서 Printer를 만들 수 없어서 인스턴스를 제공하는 함수를 생성해야 한다. public class Print.. 2022. 7. 18.
Singleton 패턴 활용! 싱글톤 패턴이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴입니다. 위의 그림과 같이 보통 웹 애플리케이션은 여러 클라이언트로 부터 동시에 요청이 들어오곤 합니다. 예를 들어 배달을 주문 하는 경우 배달앱에서는 여러 유저가 동시에 배달을 주문하기 때문에 결제서비스가 새롭게 생성되면 메모리가 낭비가 심할 뿐더러 문제가 생길 수도 있습니다. 따라서 이러한 현상을 해결하기 위해 해당 객체를 딱 한개만 공유하도록 설계한 것이 싱글톤 패턴입니다. 위의 그림이 싱글톤 패턴을 적용하여 하나의 인스턴스만을 생성하고 전달하는 것입니다. 1. Eager Initialization public class SingletonPattern { // 1. static 영역에 객체를 1개만 생성합니다. priv.. 2021. 12. 24.