차례:
정의-재정의 란 무엇입니까?
C #에서 재정의는 기본 클래스에 정의 된 가상 멤버를 파생 클래스의 해당 멤버 정의로 바꾸는 데 사용되는 키워드입니다.
대체 수정자를 사용하면 프로그래머가 기본 클래스에서 상속 된 기존 가상 멤버의 특수화를 지정하여 파생 클래스에서 해당 멤버의 새 구현을 제공 할 수 있습니다. 메서드, 속성, 인덱서 또는 파생 클래스에서 수정하거나 확장해야하는 이벤트와 함께 사용할 수 있습니다.
재정의 수정자는 C #에서 다형성 개념을 구현하기위한 것입니다.
재정의는 전자가 기본 클래스의 가상 멤버를 재정의하는 데만 사용되는 반면, 후자는 기본 클래스에 포함 된 정의를 숨겨 기본 클래스에 정의 된 비가 상 멤버를 재정의하는 데 도움이된다는 점에서 새 수정 자와 다릅니다.
Techopedia에서 재정의 설명
재정의는 가상 메서드의 컨텍스트에서 주로 사용되며, 메서드 유형의 실행은 메서드가 호출 된 인스턴스의 런타임 형식에 따라 결정됩니다. 호출하는 동안 호출자는 호출 된 오브젝트가 파생 클래스의 인스턴스임을 알 필요가 없습니다.
예를 들어 Shape가 해당 클래스의 모든 객체에 공통적 인 기본 구현을 제공하는 기본 클래스 인 경우 가상 메서드 CalculateArea로 정의 할 수 있습니다. Square는 Shape에서 파생 된 클래스 일 수 있으며, CalculateArea 메서드를 재정 의하여 사각형의 면적을 계산하는 데 필요한 논리를 구현할 수 있습니다.
파생 클래스에서 메서드를 재정의하려면
- 기본 클래스의 메소드는 가상 수정 자로 선언해야합니다.
- 기본 클래스의 메소드는 추상적이지만 정적 일 수는 없습니다.
- 기본 클래스와 파생 클래스에서 메소드의 액세스 수정자는 동일해야합니다.
- 이 메소드는 파생 클래스와 기본 클래스 모두에서 동일한 서명으로 정의해야합니다.
