모두CBT

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이다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.