25-2아래 코드를 컴파일해 실행하면 화면에 찍히는 값을 적으시오.pu… | 2025년 정보처리기사실기 2회차 기출문제 상세 페이지
3
25-2
아래 코드를 컴파일해 실행하면 화면에 찍히는 값을 적으시오.
public class Main {
static class Box {
int w;
Box(int w) {
this.w = w;
}
}
public static void main(String[] args) {
Box p = new Box(4);
Box q = new Box(7);
Box r = new Box(9);
Box[] list = {p, q, r};
Box tmp = list[1];
list[1] = list[0];
list[0] = tmp;
list[2].w += list[1].w;
list[0].w = list[2].w - 1;
System.out.println(p.w + "-" + q.w + "-" + r.w);
}
}해설
4-12-13
[해설]
배열 list에는 객체 자체가 아니라 참조가 들어 있어, 배열 칸을 바꿔도 p·q·r이 가리키는 객체는 그대로다.
- 교환 후 list = {q, p, r}
- list[2].w += list[1].w → r.w = 9 + 4 = 13
- list[0].w = list[2].w − 1 → q.w = 13 − 1 = 12
p는 손대지 않았으므로 4다. 출력은 4-12-13이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.