참조변수의 형변환
- 사용할 수 있는 멤버의 갯수를 조절하는 것
- 조상 자손 관계의 참조변수는 형변환 가능
- 사용하는 멤버의 갯수를 줄이고 늘릴 수 있음
1 | class Car{ |
2 | String color; |
3 | int door; |
4 | |
5 | void drive() { |
6 | System.out.println("drive, Brrrrrr"); |
7 | } |
8 | |
9 | void stop() { |
10 | System.out.println("stop!"); |
11 | } |
12 | } |
13 | |
14 | class FireEngine extends Car{ |
15 | void water() { |
16 | System.out.println("water!"); |
17 | } |
18 | } |
19 | |
20 | class Ambulance extends Car{ |
21 | |
22 | } |
1 | FireEngine f = new FireEngine(); |
2 | |
3 | Car c = (Car)f; // OK. 조상인 Car타입으로 형변환(생략가능) |
4 | FireEngine f2 = (fireEngine)c; // OK. 자손인 FireEngine타입으로 형변환(생략불가) |
5 | Ambulance a = (Ambulance)f; // 에러. 상속관계X |