Singleton
: 클래스의 인스턴스화를 하나의 객체로 제한하는 디자인 패턴
시스템 전체에 작업 조정하는 데 정확히 하나의 객체가 필요한 경우에 유용
고전적으로 클래스가 존재하지 않는 경우 클래스의 새 인스턴스를 생성하는 메소드로 클래스를 생성하여 구현 가능
인스턴스가 이미 존재하는 경우 해당 개체에 대한 참조를 반환
Ex) 볼륨 제어 가능한 프로그램에서 한 사용자가 8로 설정하면 프로그램 전체에 설정

하나의 객체로 내에서 메소드들을 통해 기능 생성하는 구조를 싱글톤이라 한다