제목 | 2권 Section 124 기출 따라잡기 3번 문제 (195p) | ||
---|---|---|---|
자격증 | 정보처리 기사 실기 | ||
도서/쪽 페이지 | 2023 시나공 정보처리기사 실기 / 195쪽 | ||
등록일 | 2024-04-19 | 조회 | 39 |
작성자 | 최*예 | ||
class Parent { int compute(int num) { if(num <= 1) return num; return compute(num - 1) + compute(num - 2); } } class Child extends Parent { int compute(int num) { if(num <= 1) return num; return compute(num - 1) + compute(num - 3); } } public class Main { public static void main(String[] args) { Parent obj = new Child(); System.out.print(obj.compute(4)); } } 안녕하세요. 3번 문제 코드 중 Parent obj = new Child(); 에서 형 변환이 발생했다는 건 해설을 읽어서 이해했는데요. 이 부분을 Child obj = new Child(); 로 작성해도 올바른가요?
|
|||
첨부파일 |
|
제목 | 답변입니다. |
---|---|
등록일 | 2024-04-20 |
안녕하세요 길벗수험서 운영팀입니다.
회원님께서 말씀하신것처럼 Child obj = new Child(); 이렇게 작성하면 오류가 발생합니다.
해당 코드의 경우 부모 클래스와 자식 클래스가 있고 상속 관계에 있습니다.
compute( ) 메소드의 경우 자식 클래스에서 재정의되었습니다.
해당 코드의 경우 반드시 객체 변수를 선언할때 형 변환이 발생하도록
[부모클래스명] [객체변수명] = new [자식클래스생성자( )] 형식으로 사용해야 오류가 발생하지 않습니다
본 문제의 경우 상속에 대해 알고있는지, 객체변수 선언시 형변환에 대해 알고있는지,
재정의에 대해 알고 있는지에 대한 내용을 코드로 만들어 문제를 출제한것입니다.
열심히 공부하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :) |
|
첨부파일 |
|