싱글톤 패턴

JUHYUN·2022년 11월 30일
0

싱글톤 패턴

클래스의 인스턴스를 하나만 갖도록 하는 디자인 패턴

  • 생성자는 private 접근제한자가 있어 new 외부에서 키워드로 인스턴스를 생성할 수 없다.
  • 클래스 내부에 static 메서드인 getInstance 메서드를 통해 이미 만들어진 인스턴스를 받는다.

장점

  1. 여러번 인스턴스 생성 시 생성비용이 크게 감소한다.
    Network DB file system 과 같은 I/O Bound 작업에 많이 사용된다. (데이터베이스 연결 모듈)

단점

  1. 단위 테스트의 독립성이 확보되지 않아 테스트가 어려워진다.
    **구현하기에 따라 테스트만을 위한 초기화 코드가 필요할 수 있다.

  2. 구현 방법에 따라 동시성 문제가 발생할 수 있다.
    ** Java의 경우 synchronized 키워드를 쓰거나 LazyHolder 방식으로 싱글톤 구현시 동시성 문제를 해결할 수 있다.

profile
행복과 같은 속도를 찾는 개발자

0개의 댓글