ocajp 자격증 (Oracle Certified Associate Ja

자바 ocjap 문제 해설 - 확장 extends

xemaker 2020. 2. 25. 18:41

Given:

class A{
public A() {
System.out.print("A ");
}
}

class B extends A{
public B() {
System.out.print("B ");
}
}

class C extends B{
public C() {
System.out.print("C ");
}
public static void main(String[] args) {
C c=new C();
}
}

What is the result?

A. C B A 

B. C 

C. A B C 

D. Compilation fails at line n1 and line n2

 

정답: C

해설:

extends 로 확장하면서 생성자를 호출 시키고 있다. 쉽게 생각해서 로직을 실행시키기 전에 순서로 따지면 extends가 맨 앞에 있으니 extends가 먼저 실행될 것이고 상위 클래스에서도 extends가 맨 앞에 있으니 extends가 되면서 상위 생성자를 먼저 실행시키게 될 것이다.

결과:

A B C