본문 바로가기
개인공부

타입변환과 다형성 문제출제

by 리승우 2022. 10. 11.

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

댓글