Java에서 메서드 숨기기를 구현하는 방법



이 기사는 예제를 통해 Java에서 메소드 숨김을 구현하는 방법에 대한 상세하고 포괄적 인 지식을 제공합니다.

에 , 메서드 숨김 가능성에주의해야합니다. 하위 클래스에서 동일한 유형 및 시그니처로 만든 메서드는 수퍼 클래스의 변수를 숨길 수 있습니다. 이 기사에서는 다음과 같은 방식으로 Java에서 메소드 숨기기를 이해합니다.

값으로 전달하고 Java에서 참조로 전달

Method Hiding이란 무엇입니까?

메서드 숨김은 기능적으로 메서드 재정의와 매우 유사합니다. 재정의 할 때 하위 클래스에서 동일한 유형 및 서명을 사용하여 하위 클래스에 메서드를 생성하면 인스턴스 유형에 따라 메서드를 호출 할 수 있습니다.





자바 로고

동일한 유형과 동일한 유형의 정적 메소드의 경우그런 다음 수퍼 클래스 및 하위 클래스의 서명을 사용하면 하위 클래스의 메서드가 수퍼 클래스의 메서드를 숨 깁니다.



자바 코드를 숨기는 방법

package com.test class Parent {public static void foo () {System.out.println ( 'Inside foo method in parent class')} public void bar () {System.out.println ( 'Inside bar method in parent class' )}} class Child extends Parent {// 숨기기 public static void foo () {System.out.println ( 'Inside foo method in child class')} // Overriding public void bar () {System.out.println ( ' 자식 클래스의 내부 bar 메서드 ')}} public class Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println ('**** ************ Method Hiding ******************* ') p.foo () // 부모 클래스 c의 메서드를 호출합니다. .foo () // 상위 클래스 System.out.println ( '**************** 메소드 재정의 ************의 메서드를 호출합니다. ******* ') p.bar () // 부모 클래스의 메서드를 호출합니다. c.bar () // 자식 클래스의 메서드를 호출합니다.}}

산출:

위에서예를 들어 하위 클래스 Child에는 상위 클래스 Parent의 정적 메서드와 이름과 서명이 동일한 정적 메서드 foo ()가 있습니다. p.foo () 및 c.foo ()를 호출하면 부모 클래스에서 foo () 메서드를 호출합니다.



p.bar ()가 부모 클래스의 메서드를 호출하고 c.bar ()가 자식 클래스의 메서드를 호출하는 메서드 재정의와는 다릅니다.

이 키워드를 사용하는 6 가지 방법은 무엇입니까?

정적 메서드는 컴파일하는 동안 컴파일 시간에 해결되므로 첫 번째 부모 클래스가 컴파일 된 다음 자식 클래스가 컴파일됩니다.동일한 이름을 가진 두 개의 정적 메서드가 있습니다. 두 foo 메서드는 부모 클래스의 foo () 메서드로 확인됩니다.

요약

서브 클래스에 수퍼 클래스의 정적 메소드와 이름과 서명이 동일한 정적 메소드가있는 경우 수퍼 클래스의 메소드는 하위 클래스 또는 상위 클래스에서 호출되었는지 여부에 관계없이 호출됩니다.

메서드 재정의의 경우 부모 클래스에서 메서드를 재정의합니다. 즉, 하위 클래스에 수퍼 클래스의 비 정적 메서드와 이름과 서명이 동일한 비 정적 메서드가있는 경우 사용 된 참조에 따라 각 메서드가 호출됩니다. 부모 클래스의 비 정적 메서드를 부모 클래스의 메서드를 호출하는 데 사용하면 부모 클래스의 메서드를 사용하고 자식 클래스의 객체를 사용하여 자식 클래스의 비 정적 메서드를 호출하면 자식 클래스의 메서드를 사용합니다.

이것으로 우리는 자바에서 메소드 숨기기 기사의 끝으로 왔습니다. 확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다.

파이썬에서 클래스를 초기화하는 방법

질문이 있으십니까? 이 'Java에서 메서드 숨기기'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.