부모 타입으로 자식 객체를 참조 할 수 있다.
==> 부모가 가지고 있는 메서드만 사용 할 수 있다.
public class Car{
public void run(){
System.out.println("Car의 run메소드");
}
}
public class Bus extends Car{
public void ppangppang(){
System.out.println("빵빵.");
}
}
Car c = new Bus(); // Bus객체가 생성되지만 부모 타입이기 때문에 부모 클래스의 메소드만 사용가능
c.run(); 사용가능 ==> "Car의 run메소드" 출력
그러나 c.ppangppang(); 은 사용불가능
=============================================================
class Car {
public void run() {
System.out.println("Car의 run메소드");
}
}
class Bus extends Car {
public void run() {
System.out.println("Bus의 run메소드");
}
public void ppangppang() {
System.out.println("빵빵.");
}
}
Car c = new Bus();
c.run(); 의 결과값은 "Bus의 run메소드" 가 출력된다. (오버라이딩)
==> Bus(자식 클래스)의 run() 메소드가 실행된다.
==> if) Bus(자식 클래스)에서 run() 메소드가 오버라이딩 되어있지 않으면 Car(부모 클래스)의 run()이 실행
여전히 c.ppangppang(); 은 사용불가능
'JAVA 부족한 부분 공부' 카테고리의 다른 글
[JAVA] STRING[] ARGS (프로그램 아규먼트)란 무엇인가? (0) | 2021.01.19 |
---|---|
파일 읽기, 쓰기 (0) | 2021.01.19 |
printf() 함수의 포맷 스트링 (0) | 2021.01.18 |
비트 연산자, 시프트 연산자 (0) | 2021.01.18 |
비트, 바이트 와 진수의 상관관계 (0) | 2021.01.18 |