>Java >Java베이스 >Java에서 메소드 오버로딩과 오버라이딩의 차이점

Java에서 메소드 오버로딩과 오버라이딩의 차이점

王林
王林원래의
2019-11-12 14:50:255616검색

Java에서 메소드 오버로딩과 오버라이딩의 차이점

Java의 메소드 오버로드는 동일한 클래스에 있는 두 개 이상의 메소드가 메소드 이름은 같지만 매개변수가 다를 때 발생합니다. 반면에 메서드 재정의는 하위 클래스가 상위 클래스의 메서드를 재정의하는 것을 의미합니다. 메서드 재정의에는 메서드 이름, 매개변수 목록 및 반환 유형이 동일해야 합니다.

Overloading

(1) 메서드 오버로딩은 클래스가 다양한 유형의 데이터를 통일된 방식으로 처리하는 수단입니다. 동일한 이름을 가진 여러 함수가 동시에 존재하며 매개변수(유형) 수는 다릅니다. 재정의는 클래스의 다형성을 나타냅니다.

(2) Java 메소드 오버로드는 클래스에 이름은 같지만 매개변수와 정의가 다른 여러 메소드를 작성할 수 있음을 의미합니다. 메소드를 호출할 때 다양한 수와 유형의 매개변수를 전달하여 사용할 메소드를 결정합니다.

(3) 오버로드 시 메소드 이름은 동일해야 하지만, 매개변수 유형과 개수가 다르며, 반환값 유형은 동일하거나 다를 수 있습니다. 반환 유형은 오버로드된 함수를 구별하는 기준으로 사용될 수 없습니다.

Rewrite(덮어쓰기)

(1) 부모 클래스와 자식 클래스의 다형성, 부모 클래스의 기능을 재정의합니다. 하위 클래스에 정의된 메서드가 상위 클래스와 동일한 이름과 매개변수를 갖는 경우 해당 메서드가 재정의되었다고 말합니다. Java에서는 하위 클래스가 상위 클래스의 메서드를 상속할 수 있으므로 동일한 메서드를 다시 작성할 필요가 없습니다. 그러나 때로는 하위 클래스가 상위 클래스의 메서드를 변경하지 않고 상속하기를 원하지 않지만 특정 수정을 원하므로 메서드 재작성이 사용됩니다. 메서드 재정의는 메서드 덮어쓰기라고도 합니다.

(2) 하위 클래스의 메소드가 상위 클래스의 메소드와 메소드 이름, 반환 유형, 매개변수 목록이 동일한 경우 새 메소드가 원래 메소드를 덮어씁니다. 상위 클래스의 원래 메소드가 필요한 경우 임대 클래스의 상위 클래스를 참조하는 super 키워드를 사용할 수 있습니다.

(3) 하위 클래스 함수 액세스 권한은 상위 클래스의 액세스 권한보다 높습니다.

추천 튜토리얼: JavaTutorial

위 내용은 Java에서 메소드 오버로딩과 오버라이딩의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.