1. 해당 형태의 타입변환을 무엇이라 하는가?
부모클래스 타입 변수 = new 자식클래스();
정답 : ㅇㅇ타입변환
2. 위 타입변환이 발생하였을 시, 나타나는 특징을 모두 고르시오
1. 부모클래스에 선언된 필드와 메소드에만 접근이 가능하다
2. 자식클래스에 선언된 필드와 메소드는 삭제한다.
3. 부모클래스 메서드를 자식클래스에서 오버라이딩 한 경우라면, 자식클래스 메서드가 대신 호출된다.
4. 부모클래스 메서드를 자식클래스에서 오버라이딩 한 경우라면, 다형성 효과를 잃은 것이다.
3. 셋 중 오류가 발생하는 불가능한 작업은?
// parent는 부모 child는 자식
// 1번 케이스
Parent parent = new Parent();
Child child = (Child) parent;
//2번 케이스
Child child = new Child();
Parent parent = (Parent) child;
//3번 케이스
Parent parent = new Child();
Child child = (Child) parent;
4. 실행 시 출력될 값은?
package sec03.exam02;
public class Parent {
public void method1() {
System.out.println("Parent-method1()");
}
public void method2() {
System.out.println("Parent-method2()");
}
}
package sec03.exam02;
public class Child extends Parent{
@Override //재정의
public void method2() {
System.out.println("Child-method2()");
}
public void method3() {
System.out.println("Child-method3()");
}
}
package sec03.exam02;
public class ChildExample {
public static void main(String[] args) {
Child child = new Child();
Parent parent=child;
parent.method1();
parent.method2();
//parent.method3(); (호출 불가능)
}
}
'개인공부' 카테고리의 다른 글
API란? (0) | 2022.10.20 |
---|---|
타입변환과 다형성 문제정답 (0) | 2022.10.11 |
생성자 문제답안 (0) | 2022.10.03 |
생성자 문제출제 (1) | 2022.10.02 |
외부 클래스 메소드 불러오기 (0) | 2022.10.01 |
댓글