Singleton
- 객체의 인스턴스를 1개만 생성하는 패턴
- 최초 한번의 new 연산자를 통해서 고정된 메모리 영역을 사용하기 때문에 추후 해당 객체에 접근할 때 메모리 낭비 방지
- 이미 생성된 인스턴스 활용으로 속도 이득
- 싱글톤 인스턴스는 전역으로 사용되서 다른 클래스 간에 데이터 공유 쉬움
- 생성자는 private으로 선언되어 외부에서 사용 불가
- 멀티스레딩 환경에서 발생할 수 있는 동시성 문제 해결을 위해 syncronized 키워드를 사용해야 함
Singleton 예시
ex) 프린터 관리자 만들기
출처: https://gmlwjd9405.github.io/2018/07/06/singleton-pattern.html