정보처리기사 실기JavaJava - 추상클래스와 인터페이스난이도 5SHORT_ANSWER

정보처리기사 실기 Java - 추상클래스와 인터페이스 기출문제 #270

문제

다음 Java 코드의 실행 결과를 쓰시오.

Java
interface A { int x = 10; default void show() { System.out.print("A" + x); } } interface B extends A { int x = 20; default void show() { System.out.print("B" + x); } } abstract class C implements B { int x = 30; void display() { System.out.print("C" + this.x); } } class D extends C implements A { int x = 40; void show() { System.out.print("D" + super.x); } void display() { System.out.print("D" + A.x + B.x); } } public class Main { public static void main(String[] args) { A a = new D(); B b = new D(); C c = new D(); a.show(); System.out.print(" "); b.show(); System.out.print(" "); c.display(); } }

정답

D30 D30 D1020

D30 D30 D1020D30D1020

해설

  1. a.show(): D 객체의 show() 메서드가 호출되고, super.x는 C 클래스의 x=30을 참조하여 "D30" 출력
  2. b.show(): 동일하게 D 객체의 show() 메서드가 호출되어 "D30" 출력
  3. c.display(): D 객체의 display() 메서드가 호출되고, A.x=10, B.x=20을 참조하여 "D1020" 출력. 인터페이스 필드는 인터페이스명.필드명으로 명시적 접근

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.