코딩배움일지/JAVA

Java 11일차 2-2(싱글톤)

karatejin 2022. 11. 24. 12:42

무조건 하나만 생각해줄래

싱글턴 특징

1.생성자가 private 접근지정자여야 한다.

/*1.생성자가 private 접근지정자여야 한다.*/
private ScannerSingleton() { /* private 외부접근 불가. */
    scanner = new Scanner(System.in);

}

 

2. 자기 자신을 static 변수로 가지고 있어야한다.

/*2. 자기 자신을 static 변수로 가지고 있어야한다.*/
private static ScannerSingleton instance = null;

 

/*instance 변수는 ScannerSingleton의 주소값*/

 

public static ScannerSingleton getInstance() {
    if (instance == null) { /*결과적으로 한번만 만든다.*/ /* null 이 아니면 객체 생성 안할 거야.*/
        instance = new ScannerSingleton(); /*여기서 생성*/
    }
    return instance;
}

 

instance 로 재활용 한다. 메모리 절약할 수 있다. 끝.