: 기존에 없는 새로운 메서드를 정의하는 것 (new)
: 상속받은 메서드의 내용을 변경하는 것 (change, modify)
class Parent {
void parentMethod() {}
}
class Child extends Parent{
void parentMethod() {} // 오버라이딩
void parentMethod(int i) {} // 오버로딩
void childtMethod() {}
void childtMethod(int i) {} // 오버로딩
}
다음의 코드에서 "void parentMethod() {}"는 선언부가 조상 클래스의 메서드와 같기 때문에 오버라이딩이라고 말할 수 있다.
"void parentMethod(int i) {}"는 선언부가 조상 클래스의 메서드와 다르다. 따라서 이는 기존에 없던 새로운 메서드를 정의하는 것이기 때문에 오버로딩이다.