<aside>

Overriding은 자바의 상속구조에서 발생하는 기능으로, 부모 클래스(또는 인터페이스)가 가진 메서드를 자식 클래스에서 재정의하여 사용하는 것을 의미한다

부모로부터 물려받은 메서드의 이름, 매개변수(=시그니처), 반환타입을 그래로 유지 하되, 메서드의 구현 내용만 변경하는 것

</aside>

오버라이딩의 목적

오버라이딩의 문법 요건

  1. 메서드 시그니처 동일
  2. 접근 제한자
  3. 예외 처리

@Override 애노테이션 권장

class Parent {
    public void greet() {
        System.out.println("안녕하세요. 저는 부모입니다.");
    }
}

class Child extends Parent {
    @Override
    public void greet() {
        System.out.println("안녕하세요. 저는 자식입니다.");
    }
}

오버라이딩과 다형성