본문 바로가기
앱 만들기/Java

자바 싱글톤 만드는 방법

by 나도처음이야 2025. 2. 7.
반응형

자바에서 싱글톤이란

클래스의 객체를 하나만 만든다는 뜻이다. 

즉, 클래스 외부에서 인스턴스 객체를 만들지 못하게 하면 된다.

예를 들자면, 

Test test = new Test();

해당 구문이 동작하지 않으면 된다. 

 

이 원리를 이용하여 싱글톤 예제를 만들어보자.

package com.study;

public class Singletone {
	int test;
	public static void main(String[] agrs) {
		One single = One.getInstance();		
		One single2 = One.getInstance();
		
		//생성자로는 객체를 생성할 수 없다. private 으로 선언되었기에...
        //One single3 = new One();
	}
}

class One{	
	private One(){
		System.out.println("싱글톤을 위한 생성자");
	}
	
	//싱글톤이 되기위해서 클래스 내부에서 정적필드 객체를 생성한다. 단 하나만!	
	private static One single = new One();
	
	// 만들어진 객체를 반환한다. (외부에)
	static One getInstance() {
		return single ;
	}	
	
}

 

싱글톤 클래스 만드는 방법

1. 생성자를 private 해서 외부에서 보이지 않도록 설정한다

2. 하나의 객체 변수가 생성되어야 하기에 싱글톤 클래스 내부에서 정적필드 객체를 생성한다.

3. 외부에서 해당 객체를 사용하기 위해서 만들어진 객체변수를 반환하는 코드를 만든다.

4. 외부에서 해당 객체 사용을 위해서 여러변수로 접근하여도 Heap 영역에 저장된 객체는 하나로 동일하다.

 

-끝-

반응형

댓글