본문 바로가기
CS

[디자인 패턴] 싱글톤 패턴

by 코딩로그 2022. 10. 26.
싱글톤 패턴 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴

 

 

어디에 사용되는가?

주로 공통된 객체를 여러 개 생성해서 사용하는 DBCP와 같은 상황에서 많이 사용된다.

 

 

장점

하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어든다. 

 

 

단점

단위테스트를 원활하게 사용할 수 없다. 단위 테스트는 테스트가 서로 독립적이어야 하기 때문에 싱글톤 패턴은 각 테스트마다 독립적인 인스턴스를 만들기 어렵습니다.

또한, 모듈 간의 결합을 강하게 만들 수 있습니다. 결합도는 어떤 모듈이 다른 모듈에 의존하는 정도를 의미하며, 결합도는 낮게 설계하는 게 좋은 설계입니다.

 

 

 

구현

1. 생성자를 private으로 설정

2. private static 형태의 instance 생성

3. 인스턴스를 반환할 public 형태의 getInstance() 메서드 구현

public class SingletonTest {
	
	private static final SingletonTest instance = new SingletonTest();
	
	private SingletonTest() {
		
	}
	
	public SingletonTest getInstance() {
		return instance;
	}
	
}

 

 

 

 

 

 

 

참고 서적

면접을 위한 CS 전공지식노트

https://product.kyobobook.co.kr/detail/S000001834833

'CS' 카테고리의 다른 글

[OS] 프로세스 및 스레드  (0) 2022.12.29
[DB] 조인(join)  (0) 2022.12.23
선형 자료 구조  (0) 2022.11.03