Computer/DesignPattern

1. 싱글톤 패턴(Singleton_Pattern)

에린_1 2023. 1. 31. 21:20
728x90
  • 객체를 딱 하나만 생성하여 생성된 객체를 프로그램 어디에서나 접근하여 사용할 수 있도록 하는 패턴
    • 싱글톤 패턴을 사용하면 객체 생성을 단 한 번으로 제한하여 객체들이 복제되는 경우를 방지할 수 있다.
    • 메모리 낭비를 유발할 수 있다고 판단되는 경우 사용할 수 있다
    •  

장점

  1. 메모리 낭비를 방지할 수 있다.
  2. 싱글톤으로 만들어진 클래스와 다른 클래스의 인스턴스들의 데이터 공유가 쉽다
  3. 인스턴스가 절대적으로 한개만 존재하는 것을 보증하기에 개발 시 실수를 줄일 수 있다.
  4. 싱글톤 객체를 사용하지 않는 경우 인스턴스를 생성하지 않는다.
  5. 싱글톤을 상속시킬 수 있다.

 

 

단점

  1. 전역변수보다 사용하기가 불편하다
  2. 싱글톤의 역할이 커질수록 결합도가 높아져 객체 지향 설계 원칙에 어긋날 수 있다.
  3. 멀티쓰레드 환경에서 컨트롤이 어렵다
  4. 객체의 파괴 시점을 컨트롤 하기 어렵다

 

 

사용법

  • 생성자를 클래스 자체에서만 접근할 수 있도록 private와 같이 접근 제어자를 통해 제어해주어야 한다
  • 접근 제어자로 막는 것과 더불어 수정이 되지 않도록 막아야한다.
728x90

'Computer > DesignPattern' 카테고리의 다른 글

Design_Pattern  (0) 2023.01.30