반응형
다운캐스팅 ->
업캐스팅 하면 하위 클래스만 가지고 있는 메서드나 변수들은 사용 불가능하고
상위 클래스의 메서드를 오버라이딩 한것만 사용 가능하므로 하위 클래스의 특징을 살리고 싶으면 다운 캐스팅 해줘야 함.
hAnimal을 하위 클래스 Human 생성자로 인스턴스 생성했을 때, 다운 캐스팅은 Human에 대해서만 해야 함.
Human human =(Human) hAnimal;
근데 컴파일에는 다른 하위클래스에 대해서도
Eagle human =(Eagle) hAnimal; 이 컴파일은 됨.
하지만 오류는 뜸 따라서 각 케이스를 분석 하기 위해서는 instanceof사용.
if (hAnimal instanceof Human) { }
맞으면 true return; 따라서 instanceof 사용하는게 안정적.
반응형
'Java' 카테고리의 다른 글
final 키워드 사용 (0) | 2019.10.27 |
---|---|
추상 클래스 & 추상 메소드 (0) | 2019.10.27 |
다형성 , 형 변환 (0) | 2019.10.27 |
up casting & override (0) | 2019.10.27 |
상속 (0) | 2019.10.27 |