상속 받 은 클래스 의 메소드 를 재정 의 하 고 싶 을 때 Virtual 키워드 를 사용 한다 . 
 이 는 상속 받 은 각 클래스 에 다른 연산 방식 을 정의 하 고 싶 을 때 사용 한다 . 
 연산자 ( 메소드 ) 재 정의 를 위해서 는 상속 할 클래스 메소드 에 Virtual 을 
 그리고 상속 받 는 클래스 에 는 override 키워드 를 사용 한다 . 
 public class SalesPerson ( ) : Employee 
 / / 재 정의 한다 . 
 / / 다음 같이 기존 의 메소드 를 불러 사용 할 수 도 있 다 . 
 abstract ( 추상 ) 
 이 키워드 를 사용 하 려면 해당 클래스 도 반드시 abstract 클래스 여야 합니다 . 
 이 키워드 로 표시 한 속성 이나 메 서 드 는 본문 을 정의 할 수 없 으며 반드시 접근 한정자 는 public , internal 또는 protected 중 에 하나 여야 합니다 . 
 virtual ( 가상 ) 
 이 키워드 는 정적 클래스 ( static class ) 를 제외 한 모든 클래스 에서 사용 이 가능 합니다 . 
 이 키워드 로 표시 한 속성 이나 메 서 드 는 본문 을 정의 할 수 있 으며 abstract 와 마찬가지 로 접근 한정자 는 public , internal 또는 protected 중 에 하나 여야 합니다 . 
 override ( 우선시 하 다 / 치환 하 다 ) - 백과사전 
 이 키워드 는 abstract 또는 virtual 키워드 로 표시 된 속성 이나 메서 드 에 만 사용 이 가능 합니다 . 
 그렇 기 때문 에 이 키워드 는 어떤 클래스 를 상속 하 는 하위 클래스 에서 만 사용 이 가능 합니다 . 
 출처 : https : / / slaner . tistory . com / 160 [ 꿈꾸 는 프로그래머 ] 
 출처 : https : / / soulduo . tistory . com / 65 [ 낭만 개발자 ] 
 [ C #] 실행 경로 , 시작 경로 , 현제 경로