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