[ 추상 클래스 ]구조public abstract class Character{ public int Health { get; set; } public abstract void Move(); public void TakeDamage(int damage) { Health -= damage; }}추상 클래스는 접근제한자 뒤에 abstract 키워드를 넣어서 만들 수 있다. 클래스 내에는 abstract 키워드가 있는 추상 메서드와 넣지 않은 일반 메서드가 포함된다. 추상 메서드는 구체적인 구현을 포함하지 않고 선언만 한다. public class Player : Character{ public override void Move() { Deb..
인터페이스
다중 상속은 이름이 같은 멤버가 있을 때 어떤 부모 클래스의 것을 사용해야 하는지 모호해지고, 이렇게 이름이 충돌했을 때 이를 명확히 해주어야 하기 때문에 코드가 복잡해진다. 따라서 단일 상속을 통해서 관계를 명확하고 단순하게 해서 코드의 가독성과 이해도를 높인다. 하지만 경우에 따라서 다중 상속이 필요할 때도 있다. 이럴 때는 인터페이스라는 개념을 사용한다. [ 인터페이스 ]public interface IItemPickable{ void PickUp();}public interface IUseable{ void Use();}public class Item : IItemPickable, IUseable{ public string Name { get; set; } public voi..