Java출력 결과어려움 · 30점#생성자#상속#static#클래스

39. static 블록·초기화 블록·생성자 실행 순서

다음 Java 프로그램의 실행 결과를 쓰시오.

1class Base {
2 int v = 1;
3
4 static {
5 System.out.println("BS");
6 }
7
8 {
9 System.out.println("BI" + v);
10 }
11
12 Base() {
13 this(10);
14 System.out.println("B()" + v);
15 }
16
17 Base(int n) {
18 v += n;
19 System.out.println("B(int)" + v);
20 }
21}
22
23class Sub extends Base {
24 int w = v * 2;
25
26 static {
27 System.out.println("SS");
28 }
29
30 {
31 System.out.println("SI" + w);
32 }
33
34 Sub() {
35 System.out.println("S()" + w);
36 }
37}
38
39public class Main {
40 public static void main(String[] args) {
41 Sub s = new Sub();
42 System.out.println(s.v + s.w);
43 }
44}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.