2021년 3회 주제 · 연습 1
프로그래밍 언어다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static class Counter {
private static final Counter ONE=new Counter();
int value=3;
private Counter(){}
static Counter get(){return ONE;}
}
public static void main(String[] args) {
Counter a=Counter.get(), b=Counter.get();
a.value+=2; b.value+=3;
System.out.print((a==b)+" "+a.value);
}
}정답·해설 보기
정답
true 8
해설
get은 항상 같은 ONE 객체를 반환한다. a와 b의 참조가 같고 두 변수의 변경이 같은 value 필드에 누적된다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)
