Singleton Pattern
2023. 3. 16. 00:34ㆍ공부/기본지식
싱글톤 패턴(Singleton Pattern)은 객체지향 디자인 패턴 중 하나로, 어떤 클래스의 인스턴스가 오직 하나만 생성되도록 보장하고, 이에 대한 전역적인 접근점을 제공하는 패턴입니다.
ex)
public class Singleton {
private static Singleton instance;
private Singleton() {
// private 생성자
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
싱글톤 패턴은 하나의 인스턴스만 생성되므로, 여러 스레드에서 동시에 접근하면 동기화 문제가 발생할 수 있습니다. 이를 해결하기 위해서는 getInstance() 메서드에 동기화(synchronized)를 적용하거나, 인스턴스를 미리 생성해두는 방법 등이 있습니다.
싱글톤 패턴은 객체를 여러 번 생성하지 않고, 하나의 인스턴스만을 사용할 수 있도록 보장함으로써, 자원의 낭비를 방지하고, 객체의 일관성을 유지하는 데에 효과적입니다. 하지만, 너무 많은 상태를 공유하게 되어 결합도가 높아질 수 있으며, 테스트하기 어려울 수 있다는 단점이 있습니다.
'공부 > 기본지식' 카테고리의 다른 글
[Java] Garbage Collection (0) | 2023.03.15 |
---|---|
[Java] Primitive type & Reference type (0) | 2023.03.15 |
[Java] Overriding & Overloading (0) | 2023.03.15 |
[Java] Shallow Copy & Deep Copy (0) | 2023.03.15 |
Singleton Design Pattern 싱글톤 패턴 (0) | 2023.01.19 |