의도

단 하나의 클래스 인스턴스만을 가지도록 보장하고 전역적인 접근을 제공하기 위함입니다.

동기

단 하나의 인스턴스를 갖도록 하는 것이 좋은 클래스가 있습니다. 예를 들어 파일 시스템, 윈도우 관리자같은 것들은 단 하나여야 합니다.

클래스 자신이 인스턴스에 대한 접근 방법을 자체적으로 관리하면

  1. 다른 인스턴스가 생성되지 않도록 관리할 수 있고
  2. 클래스 자신이 해당 인스턴스에 대한 접근 방법을 제공할 수 있습니다.

활용성

참여자

결과 → 장점