jinsusong / CS-Study

CS
3 stars 5 forks source link

싱글톤 패턴의 개념과 장단점 #114

Open yerimstar opened 1 year ago

anuu0916 commented 1 year ago

장점

단점

출처 : 면접을 위한 cs 전공지식 노트, https://gyoogle.dev/blog/design-pattern/Singleton%20Pattern.html

dupyo commented 1 year ago

싱글톤이란?

싱글톤의 특징

출처 : https://velog.io/@sms8377/Structure-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4%EA%B3%BC-%EB%AC%B8%EC%A0%9C%EC%A0%90

developer-sora commented 1 year ago

(Java에서의 예시) 키보드 리더, 프린터 스풀러, 점수기록표 등 클래스의 객체를 하나만 만들어야 하는 경우 사용한다. 클래스 내에서 인스턴스가 단 하나뿐임을 보장하므로, 프로그램 전역에서 해당 클래스의 인스턴스를 바로 얻을 수 있고, 불필요한 메모리 낭비를 최소화한다. 이 패턴에서는 생성자를 클래스 자체만 사용할 수 있도록 private 등의 접근제한자를 통하여 제한하여야 한다. 생성자를 다른 곳에서도 사용할 수 있으면 그곳에서도 인스턴스를 만들 수 있기 때문이다. 싱글톤 패턴을 사용하기 위해서는 반드시 접근제한자를 이용하여 외부의 접근을 막거나, final로 reference를 변경 불가능하게 설정하여야 한다. 물론 생성자에 접근제한자를 사용하면 최소한 다른 인스턴스로 레퍼런스시키지는 못하겠지만, ClassName.singleton = null;처럼 레퍼런스 자체를 지워버릴 수 있기 때문이다.

SW-H commented 1 year ago

+) [JAVA] 싱글톤 패턴에서 multi threads 환경 동시성 제어방법

https://junghyungil.tistory.com/150