▣ Java_소스코드_객체지향개념, 상속관계, 업캐스팅, 다운캐스팅
2014년 33번
정답 : 1번, 4번
특정개체가 하위 클래스의 형에서 상위 클래스의 형으로 캐스팅 되는 것을 업캐스팅이라 하며 "Animal ani_1 = new Dog( );"처럼 부모의 클래스 타입에 자식의 객체를 생성해서 캐스팅하는 것을 말함
업캐스팅을 했을 시 중요한 점은 부모가 가진 메소드 또는 자식이 오버라이딩(재정의)한 메소드에 한에서는 접근이 가능하지만 자식만이 가지고 있는 메소드를 호출할 경우 부모 클래스에는 정의된 부분이 없으므로 실행 오류가 발생함
상속관계에 있는 클래스를 부모타입에 자식타입의 객체를 생성하여 업캐스팅하는 것은 컴파일 오류가 생기지 않음
업캐스팅된 객체의 메소드를 호출 시 부모가 가지고 있지 않은 메소드(자식만이 가지고 있는 메소드)를 호출하면 실행오류가 발생하게 됨
지문의 "ani_1.run();", "ani_3.fly();" 들은 Animal에는 존재하지 않고 자식 클래스에만 존재하는 메소드를 호출하였으므로 실행오류가 발생함
'소프트웨어공학' 카테고리의 다른 글
Java_소스코드_싱글톤패턴, static 메소드, Singleton (0) | 2022.01.29 |
---|---|
Java_소스코드_인터페이스 구현, this 연산자, 매개변수 전달, lamp, implements, setCommand (0) | 2022.01.21 |
C언어_재귀함수 (0) | 2021.12.20 |
Java 언어_레이아웃, GUI Layout Manager 배치관리자 (0) | 2021.12.16 |
기능점수_생산성, FP, 1인당 월평균 생산성 (0) | 2021.12.16 |