[디자인패턴 수업 10주차 1차시] Singleton Pattern - Intro

Jin Hur·2021년 11월 2일
0
post-custom-banner

source: https://velog.io/@eesiwoo/%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4

  • 전역 변수를 사용하지 않고 객체를 하나만 생성 하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴

  • 팩토리 패턴과 더불어 생성 패턴 중 하나이다.

참고하기 좋은 포스팅: https://gmlwjd9405.github.io/2018/07/06/singleton-pattern.html


싱글톤 패턴은 왜 필요한가?

프로그램 동작 상 하나의 객체만 있으면 되는 것이 있다. 예를 들어 쓰레드 풀, 캐시, 대화상자, 사용자 설정 이라든가 레지스트리 설정을 처리하는 객체, 로그 기록용 객체, 프린터나 그래픽 카드 같은 디바이스 제어 객체 등이 있다.
이러한 객체들을 사용할 때는 인스턴스가 두 개 이상이 생성되면 프로그램이 의도치 않게 동작한다든가 자원을 불필요하게 잡아먹는다든가 결과에 일관성을 해치는 심각한 문제가 발생할 수 있다.

객체를 하나만 생성해서 사용해야 한다면 전역 하나의 객체만 생성하고, 전역변수에 대입하여 사용하면 되지 않을까?

전역 변수에 객체를 대입한다는 것은 프로그램이 로드될 때 부터 객체가 생성된다는 것이다. 만약 해당 객체가 자원을 많이 차지한다 가정해보고, 애플리케이션이 종료될 때까지 해당 객체를 한 번도 사용하지 않는다면 괜히 자원만 잡아먹는 객체가 되는 셈이다. 이러한 문제를 막고자 싱글톤 패턴을 적용할 수 있다.

post-custom-banner

0개의 댓글