충분히 쌓여가는
7.8 다형성 본문
다형성
사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질을 말한다
프로그램을 구성하는 개체를 바꾸면 프로그램의 실행 성능이 다르게 나올 수 있다
다형성을 구현하기 위해 자동 타입 변환과 메소드 재정의가 필요하다
자동 타입 변환 + 메소드 재정의 = 다형성
예제
package ch07.sec08.exam01;
public class Tire {
public void roll() {
System.out.println("회전");
}
}
package ch07.sec08.exam01;
public class HankookTire extends Tire {
@Override
public void roll() {
System.out.println("한국 타이어 회전");
}
}
package ch07.sec08.exam01;
public class KumhoTire extends Tire {
@Override
public void roll() {
System.out.println("금호 타이어 회전");
}
}
package ch07.sec08.exam01;
public class Car {
public Tire tire;
public void run() {
tire.roll();
}
}
package ch07.sec08.exam01;
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car();
myCar.tire = new Tire();
myCar.run();
myCar.tire = new HankookTire();
myCar.run();
myCar.tire = new KumhoTire();
myCar.run();
}
}
회전
한국 타이어 회전
금호 타이어 회전
'이것이 자바다 > 07 상속' 카테고리의 다른 글
7.9 객체 타입 확인 - instanceof (0) | 2024.04.02 |
---|---|
7.8 다형성 - 매개변수 다형성 (0) | 2024.04.02 |
7.7 타입 변환 - 강제 타입 변환 (0) | 2024.04.02 |
7.7 타입 변환 - 자동 타입 변환 (0) | 2024.04.02 |
7.6 protected 접근 제한자 (0) | 2024.04.02 |