다형성(polymorphism)/ 참조변수의 형변환 ②
::::특별한 Java Story 2013. 6. 10. 00:09 |/*내용을 복사 한 후 이클립스에서
ctrl + shift + F를 눌러주세요!!*/
//P.272 다형성(polymorphism)/ 참조변수의 형변환 ②
// 예문 하나만 더 보고 넘어가겠숨돠~~
//머리에 팍~! 하고 들어오지 않아서..ㅋㅋ
package JavaTest;
public class CastingTest2 {
public static void main(String[] args) {
Car7 car = new Car7(); //인스턴스화 시키고,
Car7 car2 = null; //car2 로 null 값
FireEngine fe = null;
//자 여기도 집중해서 보자!
car.drive(); //그렇지 가능하고,
fe = (FireEngine)car2; //null 을 가지고 있는 놈끼리.. 암튼.. 부모를 자식으로 다운캐스팅 했음!
fe = (FireEngine)car; //근데!!! 이놈이 문제야... 조상타입의 인스턴스는 자손타입의 인스턴스 참조로 허용이 되지 않아!!
// 아...쫌 이해된다..슬슬... 밑에다가 나만의 공식처럼 써야겠어..ㅋㅋ 암튼 위에 놈은 주석처리해라~
car2 = fe; //자식을 부모로 업캐스팅!
car2.drive(); //부모(자기) 인스턴스만 사용가능..ㅋ
}
}
//앗! 정리하자 세현아~
//우선 캐스팅을 해서 쓸려면 클래스 참조형까지 쓰고 null 을 적어야해..
// Car car = null;
// Fire fe = null;
// 이렇게 하면 업캐스팅이던 다운캐스팅 이던 할 수 있어~~!
// 자식을 부모로 형변환 하면 업캐스팅 : 이때는 형변환을 생략이 가능하고,
// 부모를 자식으로 형변환 하면 다운캐스팅 : 이때는 형변환 생략 불가능, 복습삼아! 밑에
// car = fe(); 정답은? ㅇㅋㅅㅌ
// fe = (FireEngine)car; 정답은? ㄷㅇㅋㅅㅌ
//오케바리! 이해했어!! 아.. 이게 눈에 쫌 숙달이 되야할터인데.ㅋㅋㅋㅋ
'::::특별한 Java Story' 카테고리의 다른 글
우편번호 DB (0) | 2013.06.10 |
---|---|
instanceof 연산자 (0) | 2013.06.10 |
다형성(polymorphism)/ 참조변수의 형변환 ① (0) | 2013.06.09 |
toString 메서드, toString() (0) | 2013.06.09 |
접근 제어자(Access modifier) / 캡슐화(encapsulation) (0) | 2013.06.09 |