싱글톤 패턴 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴
어디에 사용되는가?
주로 공통된 객체를 여러 개 생성해서 사용하는 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 전공지식노트
'CS' 카테고리의 다른 글
[OS] 프로세스 및 스레드 (0) | 2022.12.29 |
---|---|
[DB] 조인(join) (0) | 2022.12.23 |
선형 자료 구조 (0) | 2022.11.03 |