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