자바에서 메소드 오버라이딩이란?

Jaba Eseo Mesodeu Obeolaiding Ilan



Java에서 데이터를 업데이트하는 동안 코드를 그대로 유지하면서 일부 특정 기능을 재정의해야 하는 요구 사항이 있을 수 있습니다. 예를 들어 이전 기능이 유지되도록 재정의된 기능에 몇 가지 새로운 기능을 추가합니다. 그런 상황에서 “ 메서드 재정의 ” in Java는 개발자 측에서 축적된 기능을 수시로 업데이트하는 놀라운 일을 합니다.

이 문서에서는 Java에서 메서드 재정의의 사용 및 구현에 대해 자세히 설명합니다.

Java에서 '메소드 재정의'란 무엇입니까?

자식 클래스가 부모 클래스에서 지정한 것과 유사한 메서드를 포함하는 경우 ' 메서드 재정의 ” 자바에서. 이렇게 하면 하위 클래스의 기능, 즉 재정의된 메서드가 적용됩니다.







Java의 '메서드 재정의'에 대한 고려 사항

  • 메서드는 부모 클래스와 동일한 이름을 포함해야 합니다.
  • 메서드는 부모 클래스와 동일한 매개변수를 가져야 합니다.
  • '로 할당된 메서드 결정적인 ”는 재정의할 수 없습니다.

예제 1: Java에서 메서드 재정의

이 예에서 메서드를 재정의하는 방법론, 즉 “ 기능 ” 상속을 통해 수행할 수 있습니다.



수업 부모의 {

공공의 무효의 쇼아웃 ( ) {

체계 . 밖으로 . 프린트 ( '이것은 Linuxhint입니다!' ) ;

} }

수업 어린이 연장하다 부모의 {

공공의 무효의 쇼아웃 ( ) {

체계 . 밖으로 . 프린트 ( '이것이 자바다!' ) ;

} }

공공의 수업 {

공공의 공전 무효의 기본 ( [ ] 인수 ) {

하위 객체 = 새로운 어린이 ( ) ;

객체 쇼아웃 ( ) ;

} }

위 데모에서 다음 단계를 적용합니다.



  • 먼저 '라는 이름의 상위(슈퍼) 클래스를 만듭니다. 부모의 '.
  • 이 클래스 내에서 '라는 함수를 정의합니다. 보여주기() ” 그리고 (함수) 정의에 주어진 메시지를 표시합니다.
  • 그런 다음 '라는 이름의 하위(하위) 클래스를 만듭니다. 어린이 '를 계승' 부모의 ” 클래스를 통해 “ 연장하다 ” 키워드.
  • 이 클래스에서 동일한 이름 '으로 정의하여 부모 클래스 내에서 정의된 함수를 재정의합니다. 보여주기() ” 그리고 명시된 메시지를 표시합니다.
  • 메인에서 '를 통해 자식 클래스의 개체를 만듭니다. 새로운 ' 키워드와 ' 어린이() ” 생성자.
  • 마지막으로 ' 보여주기() ” 생성된 개체를 참조하여. 이렇게 하면 부모 클래스의 기본 함수 대신 재정의된 함수가 호출됩니다.

산출





위의 출력에서 ​​후자의 기능, 즉 overridden이 적용된 것으로 분석할 수 있다.



예제 2: 자바를 이용한 메소드 오버라이딩에서 “super” 키워드 활용

이 특정 예에서 ' 감독자 ” 키워드는 기본, 즉 부모 메서드와 재정의된 메서드의 기능을 모두 호출하기 위해 연결될 수 있습니다.

수업 부모의 {

공공의 무효의 쇼아웃 ( ) {

체계 . 밖으로 . 프린트 ( '이것은 Linuxhint입니다!' ) ;

} }

수업 어린이 연장하다 부모의 {

공공의 무효의 쇼아웃 ( ) {

감독자 . 쇼아웃 ( ) ;

체계 . 밖으로 . 프린트 ( '이것이 자바다!' ) ;

} }

공공의 수업 {

공공의 공전 무효의 기본 ( [ ] 인수 ) {

하위 객체 = 새로운 어린이 ( ) ;

객체 쇼아웃 ( ) ;

} }

위의 코드 블록에서:

  • 마찬가지로 '라는 부모 클래스를 만듭니다. 부모의 ' 함수 '를 축적합니다. 보여주기() ”에 제공된 메시지를 표시합니다.
  • 다음 단계에서 '라는 하위 클래스를 만듭니다. 어린이 ” 부모 클래스를 상속합니다.
  • 이 클래스 내에서 마찬가지로 동일한 함수를 재정의합니다. 또한 ' 감독자 ” 키워드를 기본값, 즉 상위 클래스 함수의 기능을 호출하는 함수와 함께 사용합니다.
  • 마지막으로 자식 클래스의 개체를 만들고 재정의된 함수를 호출합니다.
  • 연산: 재정의된 함수가 호출되고 ' 감독자 ”키워드는 상위 클래스 기능을 참조합니다. 이렇게 하면 부모 클래스와 자식 클래스의 기능이 모두 콘솔에 동시에 기록됩니다.

산출

위의 출력은 재정의된 함수의 효과를 ' 감독자 ” 키워드.

예제 3: Java에서 'final' 메서드 재정의

이 예에서 함수는 '로 할당될 수 있습니다. 결정적인 ”는 부모 클래스에서 나중에 자식 클래스에서 액세스하여 분석합니다.

수업 부모의 {

결정적인 공공의 무효의 쇼아웃 ( ) {

체계 . 밖으로 . 프린트 ( '이것은 Linuxhint입니다!' ) ;

} }

수업 어린이 연장하다 부모의 {

공공의 무효의 쇼아웃 ( ) {

체계 . 밖으로 . 프린트 ( '이것이 자바다!' ) ;

} }

공공의 수업 {

공공의 공전 무효의 기본 ( [ ] 인수 ) {

하위 개체 = 새로운 어린이 ( ) ;

객체 쇼아웃 ( ) ;

} }

위에 제공된 코드에 따라 아래 단계를 적용합니다.

  • 부모 클래스 생성 ' 부모의 '.
  • 이 클래스 내에서 ' 보여주기() ' 처럼 ' 결정적인 ”, 앞의 키워드로 표시됩니다.
  • 이제 하위 클래스 '를 상속하십시오. 어린이 ” 이전에 논의한 수업에서. 여기에서 할당된 ' 결정적인 ” 부모 클래스의 기능.
  • 메인에서 “ 어린이 ” 클래스를 만들고 재정의된 함수를 호출합니다.

산출

위 코드를 실행하면 ' 결정적인 ” 메서드는 재정의할 수 없습니다.

결론

자식 클래스에 부모 클래스에 지정된 것과 유사한 메서드가 포함되어 있으면 Java에서 메서드를 재정의하는 것과 같습니다. 이 접근 방식은 전자의 방법을 재정의하고 후자를 구현합니다. 재정의는 ' 감독자 ' 아니면 그 ' 결정적인 ” 키워드를 다른 방식으로 사용합니다. 이 블로그에서는 Java의 메서드 재정의 개념에 대해 설명했습니다.