이전 장에서는 Java 메소드 재작성에 대해 배웠습니다. 이번 글에서는 Java 메소드 커버리지 구현에 대해 살펴보겠습니다.
메서드 오버로딩과 메소드 덮어쓰기의 차이점은 다음과 같습니다.
메서드 오버로딩(Overloading): 메소드 이름은 같지만 매개변수가 일치하지 않는 두 메소드가 있는 경우 메소드가 다른 메소드의 오버로드라고 말할 수 있습니다.
메서드 재정의: 메서드가 하위 클래스에 정의된 경우 해당 이름, 반환 유형 및 매개변수 서명은 상위 클래스에 있는 메서드의 이름, 반환 유형 및 매개변수와 정확히 동일합니다. class 시그니처가 일치하면 하위 클래스의 메서드가 상위 클래스의 메서드를 재정의한다고 말할 수 있습니다.
다음 예에서는 Java 메소드 대체 코드의 구현을 보여줍니다.
/* author by w3cschool.cc Findareas.java */public class Findareas{ public static void main (String []agrs){ Figure f= new Figure(10 , 10); Rectangle r= new Rectangle(9 , 5); Figure figref; figref=f; System.out.println("Area is :"+figref.area()); figref=r; System.out.println("Area is :"+figref.area()); }}class Figure{ double dim1; double dim2; Figure(double a , double b) { dim1=a; dim2=b; } Double area() { System.out.println("Inside area for figure."); return(dim1*dim2); }}class Rectangle extends Figure { Rectangle(double a, double b) { super(a ,b); } Double area() { System.out.println("Inside area for rectangle."); return(dim1*dim2); }}
위 코드를 실행한 결과는 다음과 같습니다.
Inside area for figure. Area is :100.0 Inside area for rectangle. Area is :45.0
위의 내용은 Java 예제 - 메소드에 포함된 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!