앤디 블로그
  • 모두
  • 개발 문화
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
책
짧은 글
이력서
  • 모두
  • 개발 문화
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
책
짧은 글
이력서
  • [구현] 싱글톤 객체 구현

    • 1. 싱글톤 패턴이란?
    • 2. 싱글톤 패턴 구현
    • 3. 싱글톤 패턴의 단점
    • Ref.

[구현] 싱글톤 객체 구현

2025년 10월 5일
  • 1. 싱글톤 패턴이란?
  • 2. 싱글톤 패턴 구현
  • 3. 싱글톤 패턴의 단점
  • Ref.

1. 싱글톤 패턴이란?

싱글톤 패턴이란 단 하나의 유일한 객체를 만들기 위한 패턴이다.

객체가 리소스를 많이 차지할 때 (DB연결, 네트워크 통신 등) 굳이 새로 만들지 않고 기존의 인스턴스를 가져와 활용하는 패턴이다.

2. 싱글톤 패턴 구현

싱글톤 패턴은 다음 7가지로 구현할 수 있는데 이중 Bill Pugh Solution 으로 구현한다.

  1. Eager Initialization
  2. Static block initialization
  3. Lazy initialization
  4. Thread safe initialization
  5. Double-Checked Locking
  6. Bill Pugh Solution
  7. Enum 이용
class Singleton {

    private Singleton() {}

    // static 내부 클래스를 이용
    // Holder로 만들어, 클래스가 메모리에 로드되지 않고 getInstance 메서드가 호출되어야 로드됨
    private static class SingleInstanceHolder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return SingleInstanceHolder.INSTANCE;
    }
}
출처: https://inpa.tistory.com/entry/GOF-💠-싱글톤Singleton-패턴-꼼꼼하게-알아보자 [Inpa Dev 👨‍💻:티스토리]

3. 싱글톤 패턴의 단점

Ref.

  • 싱글톤(Singleton) 패턴 - 꼼꼼하게 알아보자