728x90
반응형
2020년도 4회차 정보처리기사 실기 19번
출력될 내용을 적으시오.
답 :
더보기
1
해설 :
더보기
Child 클래스는 Parent 클래스의 자식 클래스이다.
이때 Parent obj = new Child( ); 로 부모가 자식을 낳았을 때는 부모가 가지고 있는 메서드만 사용 할 수가 있다.
(즉, 부모 클래스로 객체를 만들고 그 안에 자식 객체를 넣었을 경우를 의미한다.)
하지만, Child 자식 클래스에서 Parent 부모 클래스에 있는 compute(int num); 메서드를 "오버라이딩 (재정의)"를 했다.
이렇게 부모의 메서드를 자식 클래스 안에서 오버라이딩을 한 경우에는 자식이 재정의한 메서드를 사용하게 된다.
따라서 Parent 부모 클래스의 compute( ) 메서드가 아닌 Child 자식 클래스의 재정의된 compute( ) 메서드가 실행이 되어 아래와 같은 풀이와 답이 나오게 된다.
compute(4) = compute(3) + compute(1)
= ( compute(2) + compute(0) ) + compute(1)
= ( ( compute(1) + compute(-1) ) + compute(0) ) + compute(1)
= ( ( 1 + (-1) ) + 0 ) + 1
= 1
728x90
반응형
'Java' 카테고리의 다른 글
[Log]로그 레벨 (0) | 2024.07.12 |
---|---|
[Log]로그 vs 로깅 (0) | 2024.07.05 |
[정보처리기사]21년도_3회차_연산자 (0) | 2023.07.21 |
JDBC (1) | 2022.12.22 |
참조 타입 (0) | 2022.12.09 |