모두CBT

24-1아래 Java 프로그램을 실행하면 출력되는 값을 적으시오.cla… | 2024년 정보처리기사실기 1회차 기출문제 상세 페이지

15

24-1

아래 Java 프로그램을 실행하면 출력되는 값을 적으시오.

class Box {
    int w, h;
    Box(int w, int h) {
        this.w = w;
        this.h = h;
    }
}

class Crate extends Box {
    int d = 4;
    Crate(int k) {
        super(k * 2, k - 1);
        d += h;
    }
    void show() {
        System.out.println(w + d * 2);
    }
}

public class Main {
    public static void main(String[] args) {
        Crate c = new Crate(6);
        c.show();
    }
}
해설

30


[해설]

Java 객체 생성은 부모 생성자 → 자식 필드 초기화 → 자식 생성자 본문 순서로 실행된다.

new Crate(6)은 먼저 super(12, 5)를 실행해 w = 12, h = 5를 만든다.

이어서 필드 d = 4가 초기화되고, 생성자 본문의 d += h로 d = 9가 된다.

show()에서는 곱셈이 덧셈에 앞서 계산되어 w + d × 2 = 12 + 18 = 30이 출력된다.

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