다형성

사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질을 말한다

프로그램을 구성하는 개체를 바꾸면 프로그램의 실행 성능이 다르게 나올 수 있다

 

다형성을 구현하기 위해 자동 타입 변환과 메소드 재정의가 필요하다

자동 타입 변환 + 메소드 재정의 = 다형성

 

예제

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();
	}

}
회전
한국 타이어 회전
금호 타이어 회전
반응형

+ Recent posts