모두CBT

25-2아래 Java 프로그램을 실행했을 때 출력되는 내용을 적으시오.… | 2025년 정보처리기사실기 2회차 기출문제 상세 페이지

14

25-2

아래 Java 프로그램을 실행했을 때 출력되는 내용을 적으시오.

public class Main {
    static void edit(String[] box, String word) {
        box[1] = word + box[0];
        word = "Q";
        box = new String[] {"X", "Y"};
    }

    public static void main(String[] args) {
        String[] box = {"M", "N"};
        String word = "K";
        edit(box, word);
        System.out.print(box[0] + box[1] + word);
    }
}
해설

MKMK


[해설]

Java는 값에 의한 호출(Call by Value)이라 배열은 참조값이 복사되어 넘어간다. 그래서 원소를 바꾸면 main에 반영되지만, 매개변수 자체를 재할당한 것은 반영되지 않는다.

  • box[1] = word + box[0] = K + M = KM이 되어 main의 box는 {M, KM}이 된다.
  • word = Q는 지역 매개변수만 바꾸므로 main의 word는 K 그대로다.
  • box = new String[]{…}는 매개변수가 새 배열을 가리킬 뿐 main의 box와 무관하다.

출력은 M + KM + K = MKMK다. 혼동 주의: 메서드 안에서 만든 새 배열의 X, Y는 main에 전혀 나타나지 않는다.

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