gwooden_코린이

java_싱글톤_221128(6일차) 본문

java/6일차

java_싱글톤_221128(6일차)

gwooden22 2022. 11. 28. 10:03
728x90

싱글톤만들면 여러개 객체를 생성할 수 없으면 단, 하나의 객체만 생성

 

package 싱글톤;

public class Main {

	public static void main(String[] args) {
		
//		Singleton single = new Singleton(); <-- 프라이빗이라 해당 클래스에서만 사용이 가능하여 불가

		//싱글톤 메서드를 호출해 s1에 넣어준것
        	//메모리 관리 측면에서 많이 사용 , 초기값은 고정되서 하나만 쓰이게 된다.
		Singleton s1 = Singleton.getInSingleton(); // <--싱글톤 안에 있는 메서드를 호출하는 뜻
		Singleton s2 = Singleton.getInSingleton();
		Singleton s3 = Singleton.getInSingleton();
	}

}
결과값

객체 생성
객체 리턴
객체 리턴
객체 리턴

package 싱글톤;

public class Singleton {
	
	//static은 어디서 사용하든 다 연결되서 쓰임
	private static Singleton instace = new Singleton(); //싱글 톤이라는 클래스를 통해서 인스턴스라는 객체를 생성
	
	private Singleton() {//생성자이름은 객체 이름과 동일해야 됨
	
		System.out.println("객체 생성"); //싱글톤 내부를 비워두는 이유는 대부분 아래 메서드에서 처리하기 때문에
		
	}
	//            리턴 반환타입       메서드 이름
	public static Singleton getInSingleton() {
		
		System.out.println("객체 리턴");
		
		return instace; //<-- 호출한 객체를 리턴 시키기 위해 인스턴스 리턴
		
		
	}

}

 

728x90
Comments