부모 클래스를 확장해서 새로운 자식 클래스를 만드는 기술을 의미
class [sub클래스명] extends [super클래스명] {
----
}
서로 상속관계로 이루어진 객체들간의 매서드 재정의
[접근제한] [반환형] [메서드명] (자료형 인자1, 자료형 인자2, …){}
반드시 동일 반드시 동일 반드시 동일
*주의 ) 접근제한의 경우 부모클래스의 메서드의 접근제한보다 제한범위가 넓어야 한다
//부모 클래스
class GrandParent{
public String getCar() {
return "구형 자동차";
}
}
//자식 클래스
class Father extends GrandParent{
//Method Overriding(메서드 재정의)
//상속관계에서 부모 클래스의 메서드를 재정의하면 객체 생성 후 재정의 된 메서드를
//호출하면 부모 클래스의 메서드가 호출되지 않고 자식 클래스의 재정의된 메서드가 호출됨
//어노테이션
//재정의 메서드 오버라이딩 문법에 맞게 재정의 되었는지를 검증
@Override
public String getCar() {
return "신형 자동차";
}
}
//자식 클래스
class Uncle extends GrandParent{
}
public class OverridingMain01 {
public static void main(String[] args) {
Father ft= new Father();
Uncle uc = new Uncle();
System.out.println(ft.getCar());
System.out.println(uc.getCar());
}
}
신형 자동차
구형 자동차