<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();를 호출하면 “버스. 달린다.”가 출력된다.