오버로딩과 오버라이딩의 차이를 설명해 주세요.

  • 오버로딩(Overloading)오버라이딩(Overriding) 은 같은 이름의 메서드를 가지지만, 매개변수의 수, 타입 또는 반환 타입이 다른 메서드를 의미한다.

  • 오버로딩은 같은 클래스에서 같은 이름의 메서드를 여러 개 정의하는 것을 말한다.

  • 오버라이딩은 상속 관계에서 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것을 말한다.

구분
Overriding
Overloading

접근 제어자

부모 클래스 메서드의 접근 제어자보다 더 넓은 범위의 접근 제어자를 자식 클래스에서 재정의할 수 있다.

모든 접근 제어자 사용 가능

반환 타입

동일해야 한다.

달라도 된다.

메서드명

동일해야 한다.

동일해야 한다.

매개변수

동일해야 한다.

달라야만 한다.

적용 범위

상속관계에서 적용된다.

같은 클래스 내에서 적용된다.

Last updated