자바 방법 리 셋 과 리 셋 원리 차이 분석

자바 의 방법 재 업로드 와 방법 재 작성 은 많은 차이 가 있 습 니 다.재 부팅 방법 과 덮어 쓰 는 방법 사이 의 차이 목록 을 보 여 줍 니 다.
번호
방법 과부하
방법 재 작성
1
방법 재 부팅 은 프로그램의 가 독성 을 높이 는 데 쓰 인 다.
방법 재 작성 은 이미 초 류 가 제공 한 방법 을 제공 하 는 특정한 실현 에 사용 된다.
2
방법 은 클래스 내 에서 다시 실 행 됩 니 다.
방법 재 작성 은 IS-A(계승)관 계 를 가 진 두 가지 유형 에서 발생 한다.
3
방법 을 다시 불 러 오 는 경우 매개 변 수 는 달라 야 합 니 다.
방법 을 다시 쓰 는 상황 에서 매개 변 수 는 반드시 같 아야 한다.
4
방법 재 부팅 은 컴 파일 할 때 다 태 적 인 예 이다.
방법 재 작성/덮어 쓰 기 는 실행 시의 다 형 적 인 예 입 니 다.
5
자바 에서 방법 리 셋 은 방법 을 바 꾸 는 리 턴 형식 으로 만 실행 할 수 없습니다.방법 리 셋 의 반환 형식 은 같 거나 다 를 수 있 습 니 다.그러나 매개 변수 형식 을 변경 해 야 합 니 다.
방법 재 작성/덮어 쓰기 에서 형식 이 같 거나 협동 되 어야 합 니 다.
자바 방법

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;
  }
}
자바 방법 덮어 쓰기 예제

class Animal {
  void eat() {
    System.out.println("eating...");
  }
}

class Dog extends Animal {
  void eat() {
    System.out.println("eating bread...");
  }
}
여러분,위의 코드 를 보 세 요.의문 을 가지 고 아래 의 글 을 보 시 는 것 이 더 효과 적 입 니 다.
1.방법 재 작성(0verride)
자바 프로그램 에서 클래스 의 계승 관 계 는 하위 클래스 를 만 들 수 있 고 하위 클래스 는 부모 클래스 의 모든 특징 을 가지 고 부모 클래스 의 모든 방법 과 변 수 를 계승 할 수 있 습 니 다.
하위 클래스 는 새로운 특징 을 정의 할 수 있 습 니 다.하위 클래스 는 부모 클래스 의 일부 방법 을 수정 하여 확장 하고 기능 을 확대 해 야 합 니 다.프로그램 설계 자 는 이런 조작 방법 을 재 작성 이 라 고도 부 르 고 재 작성 또는 덮어 쓰기 라 고도 부 를 수 있 습 니 다.
따라서 방법의 재 작성 이란 하위 클래스 의 방법 과 부모 클래스 에서 계승 하 는 방법 이 똑 같은 반환 값 유형,방법 명,매개 변수 개수 와 매개 변수 유형 을 가 진 다 는 것 을 말한다.이렇게 하면 부류 의 방법 에 대한 커버 를 실현 할 수 있다.
만약 하위 클래스 가 부모 클래스 의 방법 을 다시 썼 다 면,호출 할 때 는 반드시 다시 쓴 하위 클래스 를 호출 하 는 방법 일 것 이다.그러나 부모 클래스 의 방법 을 계속 호출 하려 면 우 리 는 어떻게 해 야 합 니까?
이 때 슈퍼 키 워드 를 통 해 이 기능 을 실현 할 수 있 습 니 다.슈퍼 키 워드 는 하위 클래스 에서 부모 클래스 의 내용 을 방문 할 수 있 습 니 다.재 작성 된 방법 에 접근 하려 면'슈퍼.(매개 변수 목록)'형식 으로 호출 하면 됩 니 다.
물론 슈퍼 키 워드 를 사용 하려 면 반드시 방법 을 재 작성 한 후에 사용 해 야 하 는 것 이 아니 라 어떤 방법 이 아버지 류 에서 물 려 받 은 것 임 을 명확 하 게 나 타 낼 수 있다.슈퍼 를 사용 하면 부모 클래스 에서 찾 으 려 면 하위 클래스 에서 찾 지 않 습 니 다.
재 작성 에는 다음 과 같은 규칙 이 있 습 니 다.
(1).부모 측 방법의 매개 변수 목록 은 이불 류 재 작성 방법의 매개 변수 목록 과 완전히 같 아야 합 니 다.그렇지 않 으 면 재 작성 이 아니 라 재 업로드 라 고 할 수 없습니다.
(2).부모 클래스 가 되 돌아 오 는 유형 은 이불 클래스 가 다시 쓰 는 방법의 매개 변수 목록 과 같 아야 합 니 다.그렇지 않 으 면 다시 쓰 는 것 이 아니 라 다시 불 러 올 수 없습니다.
(3).자바 에 따 르 면 이불 류 재 작성 방법 은 부모 류 방법 보다 더 다양한 접근 권한 을 가 질 수 없다.
자바 프로그램 을 작성 한 사람 은 모두 알 고 있 을 것 입 니 다.부모 클래스 의 방법 은 어떤 상황 에서 도 다시 쓸 수 있 는 것 이 아 닙 니 다.부모 클래스 의 방법 접근 권한 수정자 가 private 일 때 이 방법 은 자신의 클래스 에 만 접근 할 수 있 고 외부 에 접근 할 수 없 으 며 하위 클래스 에 서 는 다시 쓸 수 없습니다.부모 클래스 를 Public 로 정의 하면 하위 클래스 에서 private 프로그램 으로 정의 하 는 중 오류 가 발생 합 니 다.
(4).부모 클래스 의 접근 권한 수정자 제한 은 이불 류 재 작성 방법의 접근 권한 수정자 보다 크 고 private 권한 이 가장 작 기 때문에 부모 클래스 의 접근 권한 이 private 일 경우 하위 클래스 에서 재 작성 할 수 없습니다.정 의 를 다시 쓰 는 것 도 새로운 방법 만 정 의 했 을 뿐 다시 쓰 는 효 과 는 없 을 것 이다.
(5).상속 과정 에서 부류 의 방법 이 이상 을 던 지면 부류 에서 부류 의 이 방법 을 다시 쓸 때 도 이상 을 던 져 야 한다.그리고 이상 을 던 지 는 것 은 부류 에서 던 지 는 이상 보다 많 으 면 안 된다.다시 쓰 는 방법 은 새로운 검사 이상 을 던 져 서 는 안 되 며,다시 쓰 는 방법 보다 더 광범 위 한 검사 이상 을 던 져 서 는 안 된다 는 얘 기다.
예 를 들 어 부모 클래스 의 한 방법 은 검사 이상 IOException 을 밝 혔 습 니 다.이 방법 을 다시 쓸 때 Exception 을 던 질 수 없고 IOException 의 하위 클래스 이상 만 던 질 수 있 으 며 비 검사 이상 을 던 질 수 있 습 니 다.같은 이치 로 만약 에 하위 클래스 가 구성원 변 수 를 만 들 었 는데 이 변 수 는 부모 클래스 의 변수 이름과 같 아서 변수 재 작성 이나 속성 덮어 쓰기 라 고 부른다(이 개념 은 일반적으로 연구 하 는 사람 이 적 고 의미 가 크 지 않다).
2.방법 과부하(ordeloading)
개념:방법 리 셋 이란 한 종류 에서 여러 방법의 방법 명 은 같 지만 매개 변수 목록 은 다르다 는 것 을 말한다.매개 변수 목록 이 다 르 면 매개 변수 개수,매개 변수 유형 또는 매개 변수의 순서 가 다르다 는 것 을 말한다.
방법 과부하 는 서로 다른 유형의 데 이 터 를 통일 적 으로 처리 하 는 수단 이다.방법 을 호출 할 때 서로 다른 개수 와 파 라 메 터 를 전달 하여 어떤 방법 을 구체 적 으로 사용 할 지 결정 합 니 다.이것 이 바로 자바 의 다 형 입 니 다.
방법 을 다시 불 러 올 때 방법 간 에 일정한 관계 가 있어 야 한다.왜냐하면 프로그램의 가 독성 을 높 일 수 있 기 때문에 일반적으로 기능 이 비슷 한 방법 만 다시 불 러 올 수 있 기 때문이다.
우 리 는 이름 이 같은 방법 을 정의 한 다음 에 서로 다른 매개 변 수 를 정의 하여 방법 을 구분 한 다음 에 호출 할 때 자바 가상 기 는 서로 다른 매개 변수 목록 에 따라 적당 한 방법 을 선택 하여 실행 할 수 있다.다시 불 러 오 는 방법 이 호출 될 때 자바 는 매개 변수 유형 이나 숫자 로 세계 호출 의 재 부팅 방법 을 결정 한 다 는 것 이다.따라서 리 셋 방법의 매개 변수의 유형 이나 개 수 는 달라 야 한다.
다시 불 러 오 는 방법 마다 다른 반환 유형 이 있 을 수 있 지만,반환 유형 은 어떤 방법 을 사용 하 는 지 구분 하기 에는 부족 합 니 다.
자바 가 리 셋 방법 을 호출 할 때 호출 매개 변수 와 일치 하 는 매개 변수 가 실 행 됩 니 다.무 거 운 짐 을 사용 할 때 다음 과 같은 몇 가 지 를 주의해 야 합 니 다.
(1).리 셋 을 사용 할 때 서로 다른 매개 변수 목록 만 통과 할 수 있 으 며,서로 다른 매개 변수 목록 이 있어 야 합 니 다.
(2).접근 권한,반환 형식,던 진 이상 을 통 해 다시 불 러 올 수 없습니다.
(3).방법의 이상 유형 과 수량 은 과부하 에 영향 을 주지 않 습 니 다.
(4).서로 다른 반환 값 형식 이 있 을 수 있 습 니 다.매개 변수 목록 만 다 르 면 됩 니 다.
(5).접근 수정자 가 다 를 수 있 습 니 다.
(6).다른 이상 을 던 질 수 있다.
3.방법 재 작성 과 재 업로드 의 차이

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기