Singleton 패턴

2026. 4. 17. 19:31·복습/소프트웨어디자인패턴

Singleton 패턴이란?

하나의 클래스에서 하나의 인스턴스만 생성하도록 보장하는 패턴

생성자를 private 으로 선언하여 외부에서 객체 생성을 막는다.

 

 

public class Singleton{
	private static Singleton singleton = new Singleton();
	private Singleton(){
		System.out.println("인스턴스를 생성했습니다.");
	}
	public static Singleton getInstance(){
	return singleton;
	}
}

singleton 멤버 변수:

static으로 선언됨 > Singleton 클래스 로드시 한 번만 실행됨

 

singleton 생성자:

private 메소드로, 외부에서 호출불가(==객체 생성 불가)

 

public class Main{
	public static void main(String[] args){
		System.out.println("Start.");
		Singleton obj1 = Singleton.getInstance(); // 이때 singleton변수가 메모리에 load
		Singleton obj2 = Singleton.getInstance();
		if(obj1 == obj2){
			System.out.println("obj1과 obj2는 같은 인스턴스입니다.");
		} else{
			System.out.println("obj1과 obj2는 같은 인스턴스가 아닙니다.");
		}
        System.out.println("End.");
    }
}

 

코드실행 결과는?

"obj1과 obj2는 같은 인스턴스입니다." 출력

obj1 == obj2 -> 메모리 주소 비교 연산자

obj1.equals(obj2) -> type,값 비교 연산자(주소 x)

obbj 1,2는 싱글톤패턴으로 인해 같은 인스턴스를 가리킴!

 

유일한 하나의 인스턴스는 언제 생성되는가

프로그램 실행 후, 처음 Singleton.getInstance( ) 메소드가 호출 되면,

Singleton 클래스가 메모리에 로드되어 초기화되고,

이 때 static 필드인 singleton 필드가 초기화된다.

 

+enum을 이용한 싱글턴 패턴

'복습 > 소프트웨어디자인패턴' 카테고리의 다른 글

Bridge 패턴  (0) 2026.04.17
Prototype 패턴  (0) 2026.04.17
Factory Method 패턴  (1) 2026.04.17
Template Method 패턴  (0) 2026.04.17
Adapter 패턴  (0) 2026.04.17
'복습/소프트웨어디자인패턴' 카테고리의 다른 글
  • Bridge 패턴
  • Prototype 패턴
  • Factory Method 패턴
  • Template Method 패턴
hyeumm.dev
hyeumm.dev
말하는 감자입니다. 많이 응원해주세요..^^
  • hyeumm.dev
    천방지축 개발자 되기 프로젝트
    hyeumm.dev
  • 전체
    오늘
    어제
    • 아무개 (78)
      • 복습 (41)
        • 알고리즘 (3)
        • 소프트웨어디자인패턴 (8)
        • 네트워크 (3)
        • 자료구조 (1)
        • C++ (1)
        • 서구실 (6)
        • 멋쟁이사자처럼 (3)
        • SOPT (7)
        • 소분설 (6)
        • 운영체제 (3)
      • 회고 (2)
        • UMC (0)
      • 프로그래밍 (19)
        • 안드로이드 (15)
        • 백준 (0)
        • 파이썬 기초 (0)
        • kotlin in action (3)
        • 테스트 코드 (1)
      • 디자인 (7)
      • 기획 (3)
        • 서비스 리뷰 (1)
        • IT 알쓸신잡 (2)
      • 대외활동 (5)
        • 네이버 클라우드 캠프 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    서류
    ncamp서포터즈
    #네이버클라우드캠프
    sopt
    국비교육
    멋쟁이사자처럼
    에이아이팜
    네이버클라우드캠프
    비트캠프강남
    네이버클라우드
    PM
    KDT
    네클캠
    4호선톤
    발대식
    hyperclovax
    솝트
    IT동아리
    해커톤
    네이버클라우드캠프서포터즈
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hyeumm.dev
Singleton 패턴
상단으로

티스토리툴바