Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 메서드 재정의와 메서드 숨김의 차이점

<시간/>

C#에는 자식 클래스에 의해 부모 클래스의 메서드를 재정의하거나 새 구현을 제공하기 위한 두 가지 메커니즘이 있으며 이러한 두 메커니즘을 메서드 재정의 및 메서드 숨김이라고 합니다. 이제 메소드 재구현이 수행되는 방식에 따라 둘을 구분할 수 있습니다.

다음은 메서드 재정의와 메서드 숨김의 중요한 차이점입니다.

Sr. 아니요. 메서드 재정의 메서드 은닉
1 정의 메서드 재정의는 슈퍼 클래스와 서브 클래스가 매개변수 및 서명을 포함하여 동일한 메서드를 갖는 다형성을 달성하는 메커니즘이며, 서브 클래스 객체를 사용하여 호출하면 서브클래스의 구현이 호출됩니다. 반면에 메소드 은닉은 사용자가 new 키워드를 사용하여 기본 또는 상위 클래스의 메소드를 재정의할 수 있는 기술로 정의할 수 있으며, 그 결과 특정 메소드의 기본 클래스에서 제공하는 주요 기본 구현을 숨길 수 있습니다.
2 상위 구현에 대한 액세스 메소드 재정의에서 자식 클래스는 부모 클래스 메서드 구현에 액세스할 수 있습니다. 메소드 은닉의 경우 부모 클래스 메서드 구현은 자식 클래스 참조를 통해 액세스할 수 없습니다.
3 사용된 수정자 For Method 재정의 override 키워드가 사용 중입니다. Method Hiding의 경우 new 키워드를 사용하여 자식 클래스에서 새로운 구현을 정의합니다.
4 구현 유형 메서드 재정의에서 메서드의 구현 유형은 개체 유형입니다. 그러나 메소드 은닉에서 메소드의 구현 유형은 참조 유형입니다.
5 부모 대 자식 참조 메소드 오버라이드에서 부모 클래스 참조 변수가 자식 클래스의 객체를 가리키고 있을 때 자식 클래스에서 오버라이드된 메서드를 호출합니다. 반면 메서드 은닉에서는 부모 클래스 참조 변수가 자식 클래스의 객체를 가리키고 있을 때 부모 클래스의 히든 메서드를 호출한다.
6 사용 메서드 재정의는 메서드의 구현만을 재정의합니다. 메서드 은닉은 메서드를 완전히 재정의할 수 있습니다.