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

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

문제

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

Java
abstract class Base { static String value = "Base"; abstract String process(); String getValue() { return value + process(); } } interface Handler { String value = "Handler"; default String process() { return value; } } class Impl extends Base implements Handler { static String value = "Impl"; String process() { return value; } } public class Main { public static void main(String[] args) { Handler h = new Impl(); Base b = new Impl(); System.out.println(h.value + " " + b.getValue()); } }

정답

Handler BaseImpl

Handler BaseImplHandlerBaseImpl

해설

h.value는 Handler 인터페이스의 상수 "Handler"를 정적 바인딩으로 접근. b.getValue()는 Base 클래스의 메서드로 Base.value("Base")와 오버라이딩된 Impl.process()("Impl")를 합쳐 "BaseImpl" 반환. static 필드는 각각 독립적으로 존재하며, 인터페이스 필드는 public static final로 정적 바인딩됨.

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

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