자식클래스가 상속받은 부모 클래스의 메소드를 재작성하는 것을 의미한다. 자식 객체를 통한 실행 시 후손의 것이 우선권을 갖는다.
| 오버라이딩 | 오버로딩 |
|---|---|
| 하위 클래스에서 메소드 정의 | 같은 클래스에서 메소드 정의 |
| 메소드 이름 동일 | 메소드 이름 동일 |
| 매개변수 동일 , 리턴 타입 동일 | 매개변수 개수, 타입, 순서 중 하나는 무조건 다름, 리턴 타입 상관 없음 |
| 접근제한자가 부모 메소드와 같거나 넓어야함 | 접근제한자 상관 없음 |
| 자식 메소드 예외 수가 부모의 것보다 적거나 범위가 좁아야함 | 예외 처리 상관 없음 |