같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질.
다형성을 위해 자바에서는 부모 클래스로 타입 변환을 허용한다.
이것은 객체가 부품화 될 수 있는 이유!
부모: 타이어
자식: 한국 타이어, 금호 타이어
public Class Car {
Tire t1 = new HankookTire();
Tire t2 = new KumhoTire();
}
타이어 클래스를 상속한 실제 타이어들은 어떤 것이든 상관없이 장착 가능!
개념: 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있다.
이 개념은 바로위의 부모가 아니라도 상속 계층 상위타입이면 자동 타입변환이 일어난다.
자식 클래스는 부모 클래스로 타입 변환될 수 있고 바로 위의 부모가 아니어도 상속 계측 상위 타입이면 자동 타입변환이 발생.
부모타입으로 변환된 자식 클래스는 부모의 필드와 메서드에만 접근이 가능하지만
자식 클래스에서 부모 메서드가 오버라이딩 되었을 경우 호출시 자식 메서드가 호출됨.