반응형
ch7-24 참조변수의 형변환
결론
- 사용할 수 있는 멤버의 갯수를 조절하는 것
- 조상 자손 관계의 참조변수는 서로 형변환 가능
기본형의 형변환은 값이 바뀌는 것이지만,
주소값이나 객체가 변환하는 것이 아니라 사용하는 멤버의 개수를 조절한다.
조상 자손 관계만 형변환이 가능하다.
형제관계 따위 없다.
조상 Car c = f ; (자손) - 이 경우에는 생략 가능
리모콘을 변경하는 것과 같다. 사용할 수 있는 멤버의 개수가 늘렸다 줄었다 하는 것
개념적으로 자손의 값이 조상의 값에 형변환 ( ) 없이 가능
Car car = null;
FireEngine fe = new FireEngine();
car = fe; >> // car = (Car)fe; 에서 형변환이 생략됨
car 자체가 fe의 주소값이 가리키는 곳을 가리키게 된다.
fe.water();
car = fe;
//car.water();
// water 메서드 호출 불가능
// 왜냐하면 Car 타입에다가 fe(FireEngine)타입을 대입했기 때문에
// Car 틀에다가 집어넣은 것 즉 Car 타입에는 water() 기능은 없기 때문에
fe2 = (FireEngine)car;
//fe2.water(); 가능하다.
//car가 가리키는 것이 fe2 이기 때문....
//헷갈리는구만
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch7-26 instanceof 연산자 (0) | 2022.03.21 |
---|---|
[자바의 정석 - 기초편] ch7-24,25 참조변수의형변환(2) (0) | 2022.03.21 |
[자바의 정석 - 기초편] ch7-23 다형성 (0) | 2022.03.20 |
[자바의 정석 - 기초편] ch7-22 캡슐화 (0) | 2022.03.20 |
[자바의 정석 - 기초편] ch7-21 접근제어자 (0) | 2022.03.20 |