• 특정 객체가 시스템내에서 오직 하나만 존재하는 것을 보장
  • 어디에서든지 싱글톤 객체에 접근할 수 있도록 함
  • static으로 선언함으로써 클래스 생성시 메모리 할당(컴파일 타임)
  • 다중 스레드 애플리케이션에서 코드를 수정해줘야 함