이것이 자바다(6) 타입변환과 다형성

Sungmin·2023년 10월 27일
0

자바 기본 개념

목록 보기
17/21

타입 변환과 다형성

객체지향의 원칙중 다형성 이란?

같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질.

다형성을 위해 자바에서는 부모 클래스로 타입 변환을 허용한다.

이것은 객체가 부품화 될 수 있는 이유!


예를들어

부모: 타이어
자식: 한국 타이어, 금호 타이어

public Class Car {
	Tire t1 = new HankookTire();
    Tire t2 = new KumhoTire();
}

타이어 클래스를 상속한 실제 타이어들은 어떤 것이든 상관없이 장착 가능!

그렇다면 자동 타입 변환이란?

개념: 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있다.
이 개념은 바로위의 부모가 아니라도 상속 계층 상위타입이면 자동 타입변환이 일어난다.

자동타입 변환 후 부모 클래스에 선언된 필드와 메서드만 접근가능

예외! 부모의 메서드가 자식 클래스에서 재정의(오버라이딩) 되었다면 <자식 클래스의 메서드>가 호출!


결론

  • 자식 클래스는 부모 클래스로 타입 변환될 수 있고 바로 위의 부모가 아니어도 상속 계측 상위 타입이면 자동 타입변환이 발생.

  • 부모타입으로 변환된 자식 클래스는 부모의 필드와 메서드에만 접근이 가능하지만
    자식 클래스에서 부모 메서드가 오버라이딩 되었을 경우 호출시 자식 메서드가 호출됨.

profile
Let's Coding

0개의 댓글