오버로딩과 오버라이딩의 차이를 설명해 주세요.
오버로딩(
Overloading) 과 오버라이딩(Overriding) 은 같은 이름의 메서드를 가지지만, 매개변수의 수, 타입 또는 반환 타입이 다른 메서드를 의미한다.오버로딩은 같은 클래스에서 같은 이름의 메서드를 여러 개 정의하는 것을 말한다.
오버라이딩은 상속 관계에서 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것을 말한다.
구분
Overriding
Overloading
접근 제어자
부모 클래스 메서드의 접근 제어자보다 더 넓은 범위의 접근 제어자를 자식 클래스에서 재정의할 수 있다.
모든 접근 제어자 사용 가능
반환 타입
동일해야 한다.
달라도 된다.
메서드명
동일해야 한다.
동일해야 한다.
매개변수
동일해야 한다.
달라야만 한다.
적용 범위
상속관계에서 적용된다.
같은 클래스 내에서 적용된다.
Last updated