Java에서는 메소드 오버로딩과 메소드 오버라이딩 사이에 많은 차이점이 있습니다. 메소드 오버로딩과 메소드 오버라이딩의 차이점 목록은 다음과 같습니다.
아니요. | 메소드 오버로딩 | 메소드 재정의 |
---|---|---|
1) | 메소드 오버로딩이 사용됩니다. 가독성을 높이기 위해 프로그램의. | 메서드 재정의가 사용됩니다. 구체적인 구현을 제공하기 위해 해당 슈퍼 클래스에서 이미 제공하는 메서드입니다. |
2) | 메소드 오버로딩이 수행됩니다. 수업 중 . | 메서드 재정의가 발생합니다. 두 수업에서 IS-A(상속) 관계를 가지고 있습니다. |
삼) | 메소드 오버로딩의 경우, 매개변수는 달라야 합니다 . | 메서드 재정의의 경우, 매개변수는 동일해야 합니다 . |
4) | 메소드 오버로딩이 그 예입니다. 컴파일 시간 다형성 . | 메서드 재정의는 다음과 같은 예입니다. 런타임 다형성 . |
5) | 자바에서는 메소드의 반환 타입만 변경하는 것만으로는 메소드 오버로딩을 수행할 수 없습니다. 반환 유형은 같을 수도 있고 다를 수도 있습니다. 메소드 오버로딩 중. 하지만 매개변수를 변경해야 합니다. | 반환 유형은 동일하거나 공변적이어야 합니다. 메서드 재정의 중. |
Java 메소드 오버로딩 예
class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} }
Java 메소드 재정의 예
class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }