C#도 C++처럼 abstract를 사용함으로써 가상 클래스를 만들 수 있다. 대신 C++에서 사용하던 virtual를 사용하지 않아도 된다는 점은 다르다. abstract/override 키워드를 사용하면 된다. C++의 final은 존재하지 않은 듯하고 sealed와 readonly, const를 사용하여 해결하는 것 같다. (이건 다음 공부 할 때) public abstract class Shape { private string name; public Shape(string s) { Id = s; } public string Id { get { return name; } set { name = value; } } public abstract double Area { get; } public over..