2021 02 20
2021-02-20¶
Junit, Assertj, Jupiter?¶
UpCasting, DownCasting¶
- 정의
- UpCasting: Parent parent = new Child();
- 변수가 원하는 정보를, 인스턴스가 모두 갖고 있다면 형변환 기호 없이 Compile 뚝딱
- DownCasting: Child child = new Parent(); - 변수가 원하는 정보를, 인스턴스가 모두 채워주지 못함 - Compile 오류!
- 그렇다면...?
- Child child = (Child)new Parent();
- Compile 가능!
- 하지만 런타임 에러 JVM 에서 발생
- 속성, 성질이 정해져 있지 않는 참조형 데이터의 빈 정보를 JVM은 알 길이 없음
- 하지만, UpCasting이 선행된 변수의 경우, DownCasting을 허용한다