소프트웨어공학

Java_소스코드_싱글톤패턴, static 메소드, Singleton

스윙스윙 2022. 1. 29. 00:08

▣ Java_소스코드_싱글톤패턴, static 메소드, Singleton

 

2020년 39번

정답 : 2번

싱글톤 패턴의 목적은 단 하나의 인스턴스를 만드는 것임. 소스코드에는 인스턴스를 만들 때 static메소드를 사용함

 

SingletonExam se = SingletonExam.getInstance(); SingletonExam클래스는 싱글톤 클래스임
SingetonExam가 처음 생성되었으므로 생성자인 SingletonExam()호출됨 (여기서 1이 증가됨)
그 다음 getInstance()메소드가 호출됨 (여기서 1이 증가됨)
se.increaseCounter(); increaseCounter()메소드가 호출됨(여기서 1이 증가됨)
싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값을 그대로 가지고 있음
se.increaseCounter(); increaseCounter()메소드가 호출됨(여기서 1이 증가됨)
싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값을 그대로 가지고 있음
SingletonExam.getInstance().increaseCounter(); getinstance()메소드가 호출됨 (여기서 1이 증가됨)
increaseCounter()메소드가 호출됨(여기서 1이 증가됨)
싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값을 그대로 가지고 있음
SingletonExam.getInstance().increaseCounter(); getinstance()메소드가 호출됨 (여기서 1이 증가됨)
increaseCounter()메소드가 호출됨(여기서 1이 증가됨)
싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값을 그대로 가지고 있음
System.out.printIn
     (SingletonExam.getInstance().getCounter());
getinstance()메소드가 호출됨 (여기서 1이 증가됨)
싱글톤이므로 인스턴스 하나임. 따라서 이전에 증가된 counter값을 그대로 가지고 있음
counter값을 출력함