Ch7-24~25. 참조변수 형변환
0. 목차
Chapter7. 객체지향 프로그래밍Ⅱ
Ch7 - 24. 참조변수의 형변환
Ch7 - 25. 참조변수의 형변환 예제
Ch7 - 24. 참조변수의 형변환
▶ 참조변수의 형변환이란?
▷ 결론 : 사용할 수 있는 멤버의 개수를 조절하는 것
- 기본형의 형변환 : 값이 달라짐
(int)3.6 = 3
- 참조변수의 형변환 : 멤버의 개수가 달라짐, 값은 달라지지 않음
▷ 조상 자손 관계일 때만 서로 형변환 가능
Ch7 - 25. 참조변수의 형변환 예제
▶ 에러가 발생하는 이유는? - 1
public static void main(String[] args) {
Car car = null;
FireEngine fe = new FireEngine();
FireEngine fe2 = null;
fe.water();
car = (Car)fe;
car.water(); // 컴파일 에러
fe2 = (FireEngine)car;
fe2.water();
}
▷ Car타입의 참조변수는 water()를 호출 할 수 없음
▷ Car타입의 리모콘은 water()기능을 사용할 수 없음
▶ 에러가 발생하는 이유는? - 2
public static void main(String[] args) {
Car c = new Car();
FireEngine fe = (FireEngine)c; // 형변환 실행 에러
fe.water(); // 컴파일은 통과
}
// console
Exception in thread "main" java.lang.ClassCastException: class baek.Car cannot be cast to class baek.
FireEngine (baek.Car and baek.FireEngine are in unnamed module of loader 'app')
at baek.CarTest.main(Car.java:39)