-
싱글톤(Singleton)Code 2020. 6. 10. 13:02
싱글톤이란, 프로그램이 시작될 때 단 한번 실행되어 메모리를 할당하는 디자인 패턴이다.
싱글톤은 여러번 호출되어도 실제 생성된 객체는 단 하나로, 원하는 갯수만큼의 객체만 생성하고 그 외의 객체 생성을 막기 위한 목적의 디자인 패턴이다.
싱글톤을 사용하는 이유
1. 메모리 낭비를 방지한다.
단 하나의 객체만 생성하여 의도치 않게 다른 객체가 생성되거나 협업 도중 인식하지 못한 부분에서 재생성 되어 메모리를 낭비하는 것을 막는다.
2. 전역 인스턴스로 공유에 용이하다.
전역변수로 선언된 함수와 인스턴스로 인해 싱글톤 객체를 어디서든 사용 가능하게 되어 프로그램 내부 어디서든 사용하기 쉽게 한다.
싱글톤 사용의 단점
멀티 스레드 환경에서 동기화를 안 할 경우, 중복 생성 등의 위험이 있다.
싱글톤은 static 으로 만든다.
변수, 함수 등을 static 으로 만들어서 전체적으로 사용할 수 있도록 한다.
참고: https://eunhyejung.github.io/java/2018/07/09/java-design-pattern-singleton.html
싱글톤 패턴(Singleton Pattern)
디자인 패턴 종류 살펴보기 생성 패턴 (추상 객체 인스턴스화) 추상팩토리, 팩토리, 빌더, 프로토타입, 싱글톤 구조 패턴 (객체 결합) 어댑터, 브리지, 컴포넌트, 데코레이트, 퍼싸드, 플라이웨이�
eunhyejung.github.io
'Code' 카테고리의 다른 글
디버깅 하는 방법 (0) 2020.07.01 .cpp와 .h / 역참조 (0) 2020.06.23 HDC, HBITMAP (0) 2020.06.06 TransparentBlt 함수 참고 사이트 (0) 2020.05.29 WinAPI 더블 버퍼링 (0) 2020.05.16