This is it. it's IT.

싱글톤 패턴 코드 본문

정보처리기사(2022)/6.프로그래밍언어활용

싱글톤 패턴 코드

응애개발자 애기 2022. 4. 12. 14:24
728x90
반응형
class Soojebi{
	static private Soojebi instance = null;
    private int count = 0;
    static public Soojebi get(){
    	if(instance == null){
        	instance = new Soojebi();
        }
        return instance;
    }
    public void count(){ count++;}
    public int getCount(){ return count;}
}

public class Soojebi2{
	public static void main(String[] args){
    	Soojebi s1 = Soojebi.get();
        s1.count();
    	Soojebi s2 = Soojebi.get();
        s2.count();
    	Soojebi s3 = Soojebi.get();
        s3.count();
        System.out.print(s1.getCount());
    }

}

(정보처리기사 2021 3회 기출문제)

 

짠!!!

 

이것이 싱글턴 패턴 코드라고 한다. 

 

instance를 static으로 선언하면, get 메서드에서는 instance가 null일 경우에만 신규 객체를 생성하기 때문에 

한번에 하나의 instance만 생성하여 사용하게 된다. 

 

그러므로 s1, s2, s3 세개의 객체를 선언했다고 하더라도 실제 사용되는 인스턴스는 하나이다.

 

 

 

모든 객체가 하나의 인스턴스를 가리키고 있땅.

이러한 상황에서 s1의 count를 출력하든, s2, s3의 count를 출력하든 결과는 같다. 

728x90

'정보처리기사(2022) > 6.프로그래밍언어활용' 카테고리의 다른 글

java,python - for each문  (0) 2022.04.18
파이썬 자료형  (0) 2022.04.18
자바 자료형  (0) 2022.04.15
Comments