사용 방법은 동일하지만 실행 결과가 다양하게 나오는 성질.
객체 사용 방법이 동일하다는 것은 동일한 메소드를 가지고 있다는 뜻이다.
타이어를 상속하는 금호 타이어와 한국 타이어가 있다.
두 타이어는 (부모) 메소드를 동일하게 가지고 있다고 할 수있다.
부모 메소드를 오버라이딩하고 있다면 타이어 메소드 호출 시 오버라이딩된 메소드가 호출된다.
오버라이딩된 내용은 두 타이어가 다르기 때문에 실행 결과가 다르게 나온다.
이런것을 다형성이라 한다.
public class Tire{
//method
public void roll(){
System.out.println("회전 합니다");
}
}
public class HanTire extends Tire{
//Override method
@Override
public void roll(){
System.out.println("한국 타이어 회전 합니다");
}
}
public class kumhoTire extends Tire{
//Override method
@Override
public void roll(){
System.out.println("금호 타이어 회전 합니다");
}
}
public class Car{
//필드 선언
public Tire tire;
//method
public void run(){
//tire 필드에 대입된 객체의 roll() 호출
tire.roll();
}
}
public class CarExample{
public static void main(String[] args){
//car Object Create
Car myCar = new Car();
//tire 객체 장착
mycar.tire = new Tire();
mycar.run();
//HanTire 객체 장착
mycar.tire = new HanTire();
mycar.run();
//KumhoTire 객체 장착
mycar.tire = new KumhoTire();
mycar.run();
}
}
CarExample 실행 결과
회전 합니다.
한국 타이어 회전 합니다
금호 타이어 회전 합니다
반응형
':::: 개발 :::: > ::: JAVA :::' 카테고리의 다른 글
배치 실행 실행 파일명 가져오기 (0) | 2024.06.13 |
---|---|
java 슬래시 를 역슬래시로 변환 replaceAll (0) | 2024.02.07 |
java 문자열 비교 & 객체비교 (0) | 2022.10.12 |
spring 마지막날 ,lastday , 막날 계산 , 날짜 계산 (0) | 2022.08.02 |
스웨거 swagger ui 오류 (0) | 2021.08.20 |
JAVA 트리(tree) 이해하기 1 (0) | 2021.02.05 |
JAVA 공백제거 trim 으로 안되어서 (0) | 2020.11.10 |
curl 헤더 여러정보 / 멀티 헤더 / 다중 헤더 (0) | 2020.10.26 |