오버로딩과 오버라이딩은 이름만 비슷하고 완전히 다르다(둘이 관계가 없다)

 

오버로딩: 기존에 없고 이름이 같은 새로운 메서드를 정의하는 것(상속하고 관계가 없다)

오버라이딩: 상속받은 메서드의 내용을 변경하는 것

 

class Parent {
    void parentMethod() {}
}

class Child extends Parent {
    void parentMethod() {} // 오버라이딩
    void parentMethod(int i) {} // 오버로딩
    
    void childMehtod() {} // 새로운 메서드 정의
    void childMehtod(int i) {} // 오버로딩
    void childMehtod() {} // 중복정의 -> 에러
}
반응형

+ Recent posts