싱글톤 패턴

박상준·2022년 8월 27일
0

면접지식

목록 보기
18/32

싱글톤 패턴

싱글톤 패턴

하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴.

하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만 그렇게 하지않고
하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰이며
보통 데이터베이스 연결모듈에 많이 사용한다.

싱글톤 클래스 작성

싱글톤으로 main문 실행시 디비 연결 , 이미 연결된 경우 새로 인스턴스를 만들지 않음!

장점

하나의 인스턴스를 기반으로 해당 인스턴스를 다른 모듈들이 공유하여 사용하기 때문에
인스턴스를 생성할 때 드는 비용이 줄어든다. 그렇기 때문에 인스턴스생성에 많은 비용 이 드는 I/O 바운드 작업에 많이 사용

단점

의존성이 높아지며 TDD(Test Driven Development) 를 할 때 걸림돌이 된다. TDD를 할 때 단위 테스트를 주로 하는 데, 단위 테스트는 테스트가 서로 독립적이어야 하며 테스트를 어떤 순서로든 실행할 수 있어야 한다.

하지만 싱글톤 패턴의 경우 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이므로 각 테스트마다 독립적인인스턴스를 만들기 어려움

I/O 바운드 : 디스크 연결, 네트워크 통신, 데이터베이스 연결

의존성 = 종속성, A가 B에 의존성이 있다는 것은 B의 변경 사항에 A또한 변경된다는 것을 의

profile
이전 블로그 : https://oth3410.tistory.com/

0개의 댓글