본문 바로가기
JAVA/(MVC패턴)JDBCTest

자바(mvc패턴) 싱글톤 객체 만들기

by 미눅스[멘토] 2023. 7. 8.
728x90
package kr.or.ddit.basic.singleton;

/*

 -singleton클래스 만드는 방법(필수 구성 요소)
  1. 자신 class의 참조값이 저장될 변수를 private static으로 선언한다.

  2. 모든 생성자의  접근 제한자를 private으로 한다.

  3. 자신 class의 인스턴스를 생성하고 반환하는 메서드를 
     public static으로 작성한다.
     (이 메서드의 이름은 getInstance로 한다.)
 */
public class MySingleton {
		
	//1번
	private static MySingleton single;
	
	//2번
	private MySingleton() {  
		System.out.println("싱글톤 객체의 생성자 입니다...");
	}
	
	//3번
	public static MySingleton getInstance() {
		if(single==null) single = new MySingleton();
		return single;
	}
	
	//기타 이 클래스가 처리할 내용들을 작성하면 된다.
	public void displayTest() {
		System.out.println("이 내용은 싱글톤 클래스의 메서드 처리 내용입니다...");
	}
	
}

 

 

실험

package kr.or.ddit.basic.singleton;

public class SingletonTest {
	
	public static void main(String[] args) {
//		MySingleton test1 = new MySingleton();	//외부에서 new명령으로 생성불가
		
		
		// 객체는 생성은 getInstance() 메서드를 호출해서 생성한다.
		MySingleton test2 = MySingleton.getInstance();
		MySingleton test3 = MySingleton.getInstance();
		
		System.out.println("test2 => " + test2.toString());
		System.out.println("test3 => " + test3.toString());
		System.out.println();
		System.out.println(test2 == test3);
		
		test2.displayTest();
		
		
	}
}

결과