C#에는 하위 클래스를 통해 상위 클래스 메서드를 재정의하거나 새로운 구현을 제공하는 두 가지 메커니즘이 있으며, 이 두 메커니즘을 메서드 재정의와 메서드 숨기기라고 합니다. 이제 메소드가 다시 구현되는 방식에 따라 차별화할 수 있습니다.
다음은 메소드 재정의와 메소드 숨기기의 중요한 차이점입니다.
일련번호 | 키워드 | 메서드 재정의 | 메소드 숨기기 |
---|---|---|---|
1 | 정의 | 메서드 재정의는 다형성을 달성하기 위한 메커니즘입니다. 클래스와 하위 클래스는 다음을 포함하여 동일한 메서드를 가집니다. 매개변수 및 시그니처가 있으며 하위 클래스 객체를 사용하여 호출되면 하위 클래스의 구현이 호출됩니다. | 반면, 메소드 숨기기는 사용자가 new 키워드를 사용하여 기본 클래스 또는 상위 클래스의 메소드를 재정의하여 기본 클래스에 의해 해당 특정 메소드의 주요 기본 구현을 숨길 수 있는 기술로 정의될 수 있습니다. |
2 | 부모 클래스 구현에 액세스 | 메서드 재정의에서 하위 클래스는 부모 클래스 메서드의 구현에 액세스할 수 있습니다. | 메서드 숨기기에서는 하위 클래스 참조를 통해 상위 클래스 메서드의 구현에 액세스할 수 없습니다. |
3 | 수정자 사용법 | 메서드 재정의에서는 override 키워드를 사용하세요. | 메서드 숨기기에서 new 키워드를 사용하여 하위 클래스에 새 구현을 정의합니다. |
4 | 구현 유형 | 메서드 재정의에서 메소드의 구현 유형은 객체 유형입니다. | 그러나 메소드 숨기기에서는 메소드의 구현 유형이 참조 유형입니다. |
5 | 부모 클래스에서 자식 클래스로의 참조 | 메서드 재정의에서 부모 클래스 참조 변수가 자식 클래스의 객체를 가리키는 경우 자식 클래스에서 재정의된 메서드를 호출합니다. | 반면, 메소드 숨김에서는 상위 클래스 참조 변수가 하위 클래스의 객체를 가리킬 때 상위 클래스의 숨겨진 메소드를 호출합니다. |
6 | Purpose | 메서드 재정의는 메서드 구현을 재정의할 뿐입니다. | 메소드 숨기기는 메소드를 완전히 재정의할 수 있습니다. |
위 내용은 C#에서 메서드 재정의와 메서드 숨기기의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!