싱글톤(Singleton) 패턴이란?

dev-well-being·2023년 9월 14일
1

싱글톤 패턴이란?

  • 객체의 인스턴스를 한개만 생성되게 하는 패턴
  • 즉, 싱글톤 패턴은 아래와 같은 상황에 사용을 해야 한다.
    • 프로그램 내에서 하나의 객체만 존재해야 한다.
    • 프로그램 내에서 여러 부분에서 해당 객체를 공유하여 사용해야 한다.

싱글톤 패턴을 사용하는 이유

  • 메모리 측면의 이점
    • 싱글톤 패턴을 사용하게 된다면 한 개의 인스턴스만을 고정 메모리 영억에 생성하고 추후 해당 객체를 접근할 때 메모리 낭비를 방지할 수 있다.
  • 속도 측면의 이점
    • 이미 생성된 인스턴스를 활용하여 속도 측면에 이점이 있다.
  • 데이터 공유가 쉽다.
    • 전역으로 사용하는 인스턴스이기 때문에 다른 여러 클래스에서 데이터를 공유하며 사용할 수 있다.

싱글톤 패턴의 단점

  • Multi-thread 환경에서 instance가 없을 때 인스턴스가 2개 이상 생성될 수 있다.
  • 이럴 경우 static 변수로 singlton 인스턴스를 생성하는 방법으로 해결할 수 있다.
  • synchronzied를 적용하여 multi-thread에서의 동시성 문제를 해결할 수 있다.

참고 자료

profile
안녕하세요!! 좋은 개발 문화를 위해 노력하는 dev-well-being 입니다.

0개의 댓글