로딩
요청 처리 중입니다...

[C#] 메소드 재정의(Method Overriding)

 [C#] 메소드 재정의(Method Overriding)

클래스를 상속하여 확장할 때, 부모 클래스의 메소드 동작을 변경할 수 있다. 메소드 재정의라고 부르는 이 변경은 부모 클래스의 메소드와 동일한 시그니처를 갖는 메소드를 자식 클래스에서 작성할 때 일어난다.

만약, 메소드 이름은 동일하지만 인수의 목록이 동일하지 않다면 메소드 오버로딩이다. 부모 클래스의 public과 protected 메소드를 재정의할 수 있다.

만약, 해당 자식클래스와 부모클래스가 동일한 어셈블리에 있다면, internal 액세스 수준을 사용해 메소드를 재정의할 수 있다. 아래는 메소드 재정의 예제이다. public class Shape { public void WhatAmI() { Console.WriteLine("난 모양"); } } public class Oval : Shape { new public void WhatAmI() { Console.WriteLine("난 타원"); } } Oval 클래스는 Shape를 확장하고 WhatAmI 메소드를 재정의한다. ...

# base # C샵 # 메소드오버라이딩 # 메소드재정의 # 씨샵 # 오버라이딩