상속받은 조상의 메서드를 자신에 맞게 변경하는 것 (덮어쓰기)
오버라이딩 시, { } 안의 구현부 내용만 변경 가능 하며
메서드명, 파라미터, 리턴타입은 동일해야 한다.
접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.
예외는 조상 클래스의 메서드보다 적거나 같아야 한다. (많을 수 없음)
Class Point {
int x;
int y;
String getLocation() {
return "x: " + x + ", y: " + y;
}
}
Class Point3D extends Point() {
int z;
String getLocation() { //오버라이딩
return return "x: " + x + ", y: " + y + ", z: " + z;
}
}
오버라이딩(overriding) : 상속받은 메서드의 내용을 변경 (modify)
오버로딩(overloading) : 이름은 같지만 기존과 다른 메서드를 새롭게 정의 (new)
(⇒ 상속과는 전혀 관계가 없음!)
