[ガチャガチャJava]Singleton(単音)について


🔎 Singleton
:メモリを効率的に使用するため
:オブジェクトの内部メソッドまたは情報を使用するモード
きほんけいじょう
Singleton.java
package ---;

public class Singleton {
	// private 멤버변수
	private static Singleton instance = new Singleton();
	
	// 생성자가 무조건 있어야 객체를 만들 수 있음
	// private 생성자
	private Singleton(){}
	
	// getInstance : 외부에서 호출이 가능하도록 지정
	public Singleton getInstance() {
		return instance;
	}
		
}
活用する
Log4j.java
package ---;

public class Log4j {

	// private 멤버변수
	private static Log4j instance = new Log4j();
	
	// private 생성자
	private Log4j() {}
	
	//
	public static Log4j getInstance() {
		return instance;
	}
	
	// info()
	public String info() {
		return "알림 : 관리자 접근";
	}
	
	// wanr()
	public String warn() {
		return "경고 : 접근 불가";
	}
}
Check.java
package ---;

public class Check {
	static Log4j logger = Log4j.getInstance();
	
	// login Success
	public static void loginSuccess() {
		System.out.println(logger.info());
	}
	
	// login Fail 
	public static void loginFail() {
		System.out.println(logger.warn());
	}
}