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이 출력된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.