메서드 오버로딩 및 재 작성
메서드 오버로딩
같은 클래스에 이름은 같지만 매개 변수가 다른 메서드가 여러 개있는 경우 메서드 오버로드라고합니다. 예를 들어 누적 연산과 비슷합니다. 매개 변수 목록이 다르기 때문에 여러 메서드를 정의해야하지만이 작업은 더 번거롭기 때문에 메서드 오버로딩을 사용할 수 있습니다.
과부하 조건 :
- 동일한 클래스 여야합니다.
- 메서드 이름은 동일해야합니다.
- 매개 변수 목록이 다릅니다.
- 오버로딩 및 반환 값 형식은 매개 변수와 관련이 없습니다.
예 :
//两个参数相加
public static int add(int a,int b){
return a+b;
}
//三个参数相加
public static int add(int a,int b,int c){
return a+b+c;
}
//四个参数相加
public static int add(int a,int b,int c,int d){
return a+b+c+d;
}
수행 :
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1,2,3,4));
}
작업 결과 :
3
6
10
방법 재 작성
하위 클래스의 동일한 메서드 (반환 값 유형, 메서드 이름, 매개 변수 목록 포함)가 부모 클래스에 나타납니다. 예를 들어 Xiao Ming은 언젠가 아버지가 남긴 재산을 상속하려고하지만 Xiao Ming은이 집이 조금 싫어해서 그 자신이 바닥을 재 포장하고 벽을 칠하고 가구를 바꿨습니다. 샤오밍에서 집을 꾸미는 과정을 자바에서 메소드 재 작성이라고합니다.
재 작성 조건 :
-
하위 클래스가 상위 클래스를 상속한다는 전제하에 구현되어야합니다.
-
하위 클래스의 재정의 메서드는 반환 값, 메서드 이름, 매개 변수 목록을 포함하여 부모 클래스에서 동일한 메서드를 가져야합니다.
-
재정의 된 메서드는 @Override 주석으로 표시 할 수 있습니다.
-
하위 클래스에서 재정의 된 메서드의 액세스 권한은 부모 클래스 ( private <default <protected <public ) 에있는 메서드의 액세스 권한보다 낮을 수 없습니다.