* μ±κΈν€(Singleton) ν΄λμ€
: μΈμ€ν΄μ€λ₯Ό λ± νλλ§ λ§λ€μ΄μ μ 곡 > λ°λΌμ μμ±μ μλ νμ! (private)
: μ μ λΈλ‘μ ν΅ν΄ μμ± > μ μ λΈλ‘μ ν΄λμ€κ° λ‘λ©λ ν λ± νλ²λ§ μ€νλ¨
: μ±κΈν€ ν΄λμ€μμ νκΈ°νκΈ°μν΄ μμ€ν νλλͺ μμ κΌ _κΈ°νΈλ₯Ό λΆμΈλ€.
public class Singleton {
// μμ€ν
νλλ₯Ό μ μΈ : private static μ¬μ©
// => μ΄λ λ³μλͺ
μμ _κΈ°νΈ νκΈ°
private static Singleton _instance;
// μ μ λΈλ‘ : ν΄λμ€κ° λ‘λ©λλ©΄ λ± νλ²λ§ μ€νλλ μμ
// => μ¬κΈ°μ μΈμ€ν΄μ€λ₯Ό μμ±νμ¬ μμ€ν
νλμ μ μ₯
static {
_instance = new Singleton();
}
// μμ±μ μλν
private Singleton() {
}
// μμ€ν
νλμ μ μ₯λ μΈμ€ν΄μ€λ₯Ό λ°ννλ λ©μλ >> μμ μ μ νλλ₯Ό λ°κΈ°μν¨μΌλ‘ μ μ λ©μλλ‘ μ μΈ
// => μλν μμΌ°κΈ° λλ¬Έμ λ°λμ μ μΈν΄μΌ νμ©ν μ μλ€.
public static Singleton getInstance() {
return _instance;
}
}
λκΈ