Java에서 재정의, 오버로드 및 덮어쓰기의 차이점은 무엇입니까? 자세한 예를 들어주시는게 좋을 것 같아요
Override, Overload, Overwrite의 차이점
메서드 오버라이드(Override)는 상위 클래스에서 상속받은 동일한 이름의 메서드를 하위 클래스에서 재정의하는 것을 말합니다.
(매개변수와 반환값도 동일), Mark-to-win: 이때 하위 클래스는 상위 클래스 메서드의 영향을 제거하고 자체 동작을 구현합니다. 정말 원본을 사용하고 싶다면 super를 사용하면 됩니다. 그런데 오버로드는 같은 이름의 메소드를 말하며, 서로 다른 매개변수 스타일을 통해 저장되는 경우도 있고, 저것을 사용하는 경우도 있습니다. 매개변수 스타일은 다양한 매개변수 유형, 다양한 매개변수 개수, 다양한 매개변수 순서, 반환 값이 아무런 영향을 미치지 않음을 의미합니다. 그런데 더 권위 있고 공개적인 저작물에서는 덮어쓰기가 Java에 존재하지 않는다는 진술을 지원합니다. 저자는 덮어쓰기라는 개념이 정식으로 제안되어야 한다고 생각한다.
그것이 제안된 이후에 특정 학문적 현상에 도움이 될 것인지. 재정의 및 과부하를 도입하면 모든 사람이 이 두 용어를 정의한 후에 특정 현상을 쉽게 설명할 수 있습니다.
덮어쓰기는 분명히 이 효과를 갖지 않습니다. 학문적 용어의 정의는 분명히 컴파일러만큼 강력하지 않습니다. 아래에서 실제
예를 살펴보겠습니다. 이 예는 컴파일러(컴파일러)가 첫 번째 하위 클래스, 그 다음 상위 클래스, 첫 번째 정확한 일치, 그 다음 퍼지 일치의 순서를 따라야 함을 증명합니다.
예 1.5.3
class AAAMark_to_win {
double f(double x, double yMark_to_win) {
return x * yMark_to_win;
}
double f(int x, double y) {
return x * y*2;
}
}
클래스 BBB 확장 AAAMark_to_win {
double f(double x, double y)
{
return x + y;
. . . . . . . . . . . 자세한 내용은 온라인에서 "Mark-to-win"을 찾아보고 그의 웹사이트나 Baidu Space: Java Chapter 3을 참조하세요. 정말 찾을 수 없다면 아래에 언급한 주소를 따르세요.
웹사이트 이름: mark-to-win.com
상위 및 하위 경로 주소 추가: /JavaBeginner/JavaBeginner3_web.html#DifferenceOverrideOverloadOverwrite