반응형
자바 패턴
-
Java - 싱글턴(Singleton) 패턴Java 2022. 5. 30. 20:26
싱글턴 패턴이란? 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환 다른 클래스 인스턴스들과 데이터 공유가 쉬움 Database Connection Pool처럼 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 사용(쓰레드풀, 캐시, 로그 기록 객체등) anti-pattern이므로 가급적 사용하지 않는 것이 좋음 싱글턴 패턴의 문제점 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우 다른 클래스 인스턴스들 간의 결합도가 높아져 "개방-폐쇄 원칙"을 위배하게 된다. 수정, 테스트가 어려움 싱..