싱글톤 패턴이란?

객체가 여러번 호출되더라고 동일한 객체를 보장하는 패턴

구조

structure.png

  • Singleton
    하나의 인스턴스만을 생성하는 책임이 있으며
    getInstance 메서드를 통해 모든 클라이언트에게 동일한 인스턴스를 반환하는 작업을 수행한다.

장점

  • 단일 객체를 사용하기에 메모리 낭비를 방지할 수 있다

  • 전역에서 하나의 객체를 사용하기에 데이터를 공유하기에 쉽다.

문제점

  • 멀티 쓰레드 상에서 안전하게 작성하기 힘들다
  • 클래스 내부에서 객체를 생성하기에 테스트시 어렵다

참조