Lined Notebook

싱글톤 패턴 ★★★

by yjym33

싱글톤 패턴의 개념


싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하도록 보장하는 패턴입니다.
이렇게 하면 애플리케이션 전체에서 해당 클래스의 인스턴스에 접근할 수 있고, 중복 생성을 방지할 수 있습니다.
주로 공유 리소스에 대한 동시 접근, 로깅, 데이터베이스 연결, 캐싱 등의 상황에서 사용됩니다

 

싱글톤 패턴의 구현
싱글톤 패턴은 여러 가지 방법으로 구현할 수 있지만, 가장 일반적인 방법은 다음과 같습니다.

 

public class Singleton {
    // 인스턴스를 저장할 정적 변수
    private static Singleton instance;
    
    // 생성자를 private으로 선언하여 외부에서 직접 생성을 막음
    private Singleton() {
        // 초기화 코드
    }
    
    // 인스턴스를 반환하는 정적 메서드
    public static Singleton getInstance() {
        // 인스턴스가 없는 경우에만 생성
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
    
    // 기타 메서드와 속성 정의
}

위의 코드에서 getInstance 메서드를 통해 싱글톤 객체를 얻을 수 있으며, 처음 호출 시에만 객체가 생성됩니다. 이후 호출에서는 이미 생성된 객체를 반환합니다.

 

 

싱글톤 패턴의 사용 사례


데이터베이스 연결: 데이터베이스 연결 풀을 관리하는 데에 싱글톤 패턴을 사용하여 여러 스레드 간에 연결을 공유합니다.


로그 기록: 여러 부분에서 로그를 작성할 때 싱글톤 패턴을 사용하여 로그 파일을 관리하고 중복 로그를 방지합니다.


캐싱: 캐시 메모리를 관리할 때 싱글톤 패턴을 사용하여 여러 부분에서 캐시를 공유합니다.


애플리케이션 설정: 설정 정보를 한 번 읽어들이고 모든 곳에서 사용할 때 싱글톤 패턴을 활용합니다.

 

'Development > CS' 카테고리의 다른 글

DI와 DIP ★★★  (0) 2023.09.25
팩토리 패턴 ★★★  (0) 2023.09.25
라이브러리와 프레임워크의 차이 ★★★  (1) 2023.09.24
디자인 패턴 ★★★  (0) 2023.09.24
추상화란? ★★★  (0) 2023.09.23

블로그의 정보

생각보다 실천을

yjym33

활동하기