OOP개념에서 상속을 이야기할 때 virtual이나 abstract 한정자가 사용이 된다. 두개를 사용하면서 헷갈리는 점을 정리해보겠다. 또한 Interface와 비슷한 기능을 제공하는데 같이 비교해보겠다. - virtual상속 관계에서 부모에 정의한 함수를 자식에서 다시 정의해서 사용하는 예제이다.부모 클래스의 함수에 virtual로 설정해두면, 자식 함수에서는 override 키워드를 사용해서 함수를 재정의해서 사용할 수 있다. virtual 키워드는 메서드, 속성, 인덱서 또는 이벤트 선언을 한정하는데 사용된다. 파생 클래스에서 필요에 따라서 재정의(override)할 수 있지만 필수적으로 재정의할 필요는 없다. virtual 한정자를 사용한 클래스는 완벽한 기능을 제공할 수 있다. - abstra..