C#의 재정의 수정자란?

C Ui Jaejeong Ui Sujeongjalan



객체 지향 프로그래밍과 관련된 상황에서 기본 클래스 또는 인터페이스에 이미 지정된 메서드의 자체 구현을 제공해야 하는 경우가 자주 있습니다. C# 재정의 한정자는 이 상황에서 유용합니다. 재정의 한정자를 사용하면 상속된 메서드 또는 속성의 동작을 수정할 수 있습니다. 이 문서에서는 C#에서 재정의 한정자의 사용과 상속된 멤버의 동작을 수정하는 데 사용할 수 있는 방법에 대해 설명합니다.

재정의 수정자는 무엇입니까?

C#에서는 override 한정자를 사용하여 기본 클래스 또는 인터페이스에서 이미 선언된 메서드 또는 속성의 새 구현을 만들 수 있습니다. 파생 클래스의 상속된 멤버의 동작을 변경할 수 있습니다. 메서드나 속성을 재정의할 때 기본 클래스나 인터페이스에서 제공하는 구현을 대체할 해당 멤버에 대한 자체 구현을 제공할 수 있습니다.

재정의 수정자를 사용하는 방법?

재정의 수정자를 사용하려면 아래 단계를 따라야 합니다.







  • 재정의하려는 메서드 또는 속성이 포함된 기본 클래스 또는 인터페이스를 상속합니다.
  • 파생 클래스에서 동일한 이름과 시그니처를 사용하여 새 메서드 또는 속성을 선언합니다.
  • 메서드 또는 속성 선언 전에 override 키워드를 사용하여 상속된 멤버를 재정의하고 있음을 나타냅니다.

더 깊이 이해하는 데 도움이 되도록 예를 들어 보겠습니다.



이름에 'Start' 함수가 있는 'Vehicle'이라는 기본 클래스를 고려하십시오. Start 메서드는 단순히 차량이 시작되었다는 메시지를 콘솔에 출력합니다. 이제 Vehicle 클래스에서 상속하지만 Start 메서드에 대한 자체 구현을 제공하는 'Car'라는 새 클래스를 만들고 싶다고 가정해 보겠습니다. 재정의 수정자를 사용하여 이를 달성하는 방법은 다음과 같습니다.



시스템 사용 ;

클래스 차량
{
공개 가상 무효의 시작 ( )
{
콘솔. WriteLine ( '차량이 출발했습니다.' ) ;
}
}

클래스 카 : 차량
{
공개 재정의 무효의 시작 ( )
{
콘솔. WriteLine ( '차가 시작되었습니다.' ) ;
}
}

수업 프로그램
{
공전 무효의 기본 ( [ ] 인수 )
{
차량 차량 = 새로운 차량 ( ) ;
차량. 시작 ( ) ; // 출력: 차량이 시작되었습니다.

자동차 자동차 = 새차 ( ) ;
자동차. 시작 ( ) ; // 출력: 자동차가 시작되었습니다.
}
}

여기에서는 'Vehicle' 클래스에서 상속되는 'Car'라는 새 클래스를 만들었습니다. 또한 'Vehicle' 클래스의 메서드와 동일한 이름과 시그니처를 사용하여 'Car' 클래스에서 'Start'라는 새 메서드를 선언했습니다. 상속된 메서드를 재정의하고 있음을 나타내기 위해 재정의 한정자를 사용했습니다.





Main에서 나는 Vehicle과 Car 클래스의 인스턴스를 생성하고 이들에 대해 Start 메서드를 호출했습니다. Vehicle 개체에서 Start 메서드를 호출하면 'Vehicle started'가 콘솔에 출력됩니다. Car 개체에서 Start 메서드를 호출하면 'Car started'가 콘솔에 출력됩니다. 이는 파생 클래스에서 Start 메서드를 성공적으로 재정의했음을 보여줍니다.



결론

C#의 재정의 한정자는 상속된 멤버의 동작을 수정할 수 있는 강력한 도구입니다. 기본 클래스 또는 인터페이스에 이미 정의된 메서드 또는 속성에 대한 자체 구현을 제공하는 데 사용됩니다. 우리는 C#에서 재정의 수정자를 사용하는 방법에 대해 논의하고 간단한 예제를 통해 그 사용법을 보여주었습니다. 재정의 수정자를 사용하면 기본 클래스에서 상속되지만 고유한 동작을 제공하는 보다 특수화된 클래스를 만들 수 있습니다.