* 부모 자식 사이의 캐스팅과 프로모션을 알아보자.
1. 부모 클래스
2. 자식 클래스
3. 메인 메서드(다형성 발생)
ⓐ 레퍼런스 다형성
8 라인에서 레퍼런스 다형성이 발생한 것을 확인할 수 있다. 레퍼런스 다형성이란 부모 클래스로 자식의 객체
를 생성할 때 발생한다. 이렇게 생성된 객체는 라인 19에서처럼 자식의 메서드를 사용할 수 없다.
ⓑ 클래스 캐스팅
19 라인의 car2.move()는 사용할 수 없다. 왜냐하면, move() 메서드는 Car 클래스에는 없는 내용이기 때문이
다. move() 메서드를 호출할 수 있는 방법은 없을까? 20 라인에서 그 방법을 보여주고 있다. car2의 설계도를
버스 타입으로 바꿔주면, 즉 부모 객체를 자식 타입으로 캐스팅 하는 것이다.
ⓒ 아규먼트 다형성
23라인에서는 아규먼트 다형성을 확인할 수 있다. 부모의 이름으로 자식을 받는 것이다. 단, 이렇게 생성된 자
식 객체는 move 메서드를 사용할 수 없다. 부모 클래스에는 move 메서드가 포함되지 않았기 때문이다.
'Dev. Java' 카테고리의 다른 글
JVM 메모리 구조 (0) | 2014.07.25 |
---|---|
다형성 자세히 이해하기2 (0) | 2014.07.25 |
자바 압축 파일(jar) 만들기와 사용하기 (0) | 2014.07.23 |
접근 제한자 (0) | 2014.07.22 |
자바 this 키워드 (0) | 2014.06.18 |