Singleton

ming·2023년 5월 27일
0

자바 기초

목록 보기
7/12

SingletonMain(단일체): 한 클래스에 단 하나의 객체만 존재하도록 제안한다.
메모리를 절약, 데이터 공유 편리
테스트 불편, 유연성이 떨어짐

package pack2;

import java.lang.System;//생략가능하게 만들어졌다. 그 외 나머지 패키지는 import해야 한다.

public class SingletonMain {

	public static void main(String[] args) {
		//누가 시행착오를 겪어서 패턴을 만들어 놓음.
		
		Singleton singleton1 = new Singleton();
		Singleton singleton2 = new Singleton();
		System.out.println(singleton1);//pack2.Singleton@2133c8f8 
		System.out.println(singleton2);//pack2.Singleton@43a25848
		//인스턴스 2회 주소가 다름
		
		System.out.println("------------");
		Singleton single1=Singleton.getInstance(); //이미 만든 인스턴스를 가져다 씀
		Singleton single2=Singleton.getInstance();
		System.out.println(single1);//pack2.Singleton@3ac3fd8b
		System.out.println(single2);//pack2.Singleton@3ac3fd8b
	}
}
package pack2;

public class Singleton {//싱글톤 패턴 연습용 클래스
	int kor =100;
	
	//getter 메소드: 인스턴스 변수의 데이터를 조회할 목적으로 사용. 
	public int getKor() {
		return kor;
	}
	//-----------------------------------------
	//싱글톤 패턴
	private static Singleton single = new Singleton(); 
	//static을 이용해 프로그램이 시작할 때 단 한번만 생성
	
	public static Singleton getInstance() { //main에서 인스턴스 하지 않고 이미 만들어진 클래스를 가져다가 쓸 수 있음
		return single;
	}
}

0개의 댓글