abstract본문 없음 → 자식이 반드시 구현해야 함자식 클래스에서 override 없으면 컴파일 에러 발생public abstract class EnemyState { public abstract void Update(); // 자식이 무조건 구현해야 함} virtual기본 구현 있음 → 자식이 원하면 override구현 안 해도 기본 기능 그대로 사용 가능public abstract class EnemyState { public virtual void Enter() { Debug.Log("기본 Enter"); } public abstract void Update(); // 반드시 구현 public virtual void Exit() { Debug.Log("기본 Exit");..