Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

7.8 다형성 본문

이것이 자바다/07 상속

7.8 다형성

빌드이너프 2024. 4. 2. 17:16

다형성

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

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

 

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

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

 

예제

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

}
회전
한국 타이어 회전
금호 타이어 회전