2023년 3회 주제 · 연습 1
프로그래밍 언어다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static class Base { int value; Base(int v){value=v;} int read(){return value;} }
static class Child extends Base {
Child(int v){super(v+7);}
@Override int read(){return super.read()*2;}
}
public static void main(String[] args) {
Base item=new Child(6);
System.out.print(item.read());
}
}정답·해설 보기
정답
26
해설
Child 생성자가 super에 6+7을 전달한다. 변수의 선언형은 Base여도 실제 객체가 Child이므로 재정의한 read가 실행되고 부모의 값에 2를 곱한다.
학습용 재구성 · 주제 참고: Life-Journey · 2023년 3회 비공식 복원 (새 창)
