<aside> 💡 목표: 오버라이딩을 통해 재정의할 수 있다.
</aside>
<aside> 💡 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는 것이다. 즉, 오버라이딩이란 메소드를 제정의하는 것이다.
</aside>
public class Car {
public void run() {
System.out.println("달린다.");
}
}
public class Bus extends Car {
}
public class CarExam {
public static void main(String[] args) {
new Bus().run();
}
}
위 작동 방식이 다음과 방식이 자동으로 되어있는 것이다.
public class Bus extends Car {
@Override
public void run() {
super.run();
}
}
재정의를 하는 방식은 다음과 같다.
public class Bus extends Car {
@Override
public void run() {
System.out.println("버스. 달린다.");
}
}
위와 같이 재정의를 할 경우, new Bus().run();
를 호출하면 “버스. 달린다.”
가 출력된다.