기본 클래스에서 설명한 메서드와 이름이 같은 파생 클래스에서 메서드를 정의하면이 오류를 읽어야합니다. : ""override "또는"new "키워드"을 추가하십시오. 그러나 아래의 코드를 통해이 작업을 수행하려고 노력하고 있음에도 불구하고 모든 것이 정상인 것 같습니다."override"/ "new"없이 오류를 일으키지 않고 재정의
이유를 알고 싶습니다. Visual Studio 2010을 사용합니다.
class Base
{
public void Method()
{
Console.WriteLine("Base class");
}
}
class Child : Base
{
public void Method()
{
Console.WriteLine("Child class");
}
}
static void Main(string[] args)
{
Base myBase = new Base();
Child myChild = new Child();
myBase.Method();
myChild.Method();
}
출력은 다음과 같습니다.
Base class
Child class
감사합니다. 그렇기 때문에 "새로운"키워드는 항상 선택 사항입니까? –
@AlekseiChepovoi, 음, 경고가 있기 때문에 글쎄, 그건 선택 사항이 아니에요. 경고는 절대 무시해서는 안됩니다. 그들은 고정되거나 억제되어야합니다 (귀하의 경우 경고가 적용되지 않는다는 것을 알고있는 경우). 이 경우 수정이 쉽습니다 ... –