티스토리 뷰
오늘 한 일 (회고)
오전
- naviMesh를 이해하기위한 강의듣기
- 수준별 꾸준실습
오후
- 팀프로젝트 진행
- 추상클래스 LivingEntity를 만들어 zombie와 animal이 상속받을 수 있는 코드연습
새로 배운 것
추상클래스 (abstract class)
기본클래스의 역할을 하면서 객체로 직접 생성될 수 없는 클래스입니다.
추상클래스의 특징
- 추상메서드
protected abstract void DetectPlayer();
추상 클래스는 구현되지 않은 추상 메서드(abstract method)를 포함할 수 있습니다. 이러한 메서드는 메서드 선언만 있고 본체가 없으며, 상속받는 클래스에서 반드시 구현해야 합니다
- 인스턴스화 불가
LivingEntity entity = new LivingEntity(); // 오류 발생!
추상 클래스는 객체로 직접 생성할 수 없습니다. 즉, LivingEntity를 기반으로 객체를 만들 수 없으며, 상속받은 자식 클래스를 통해서만 객체를 생성할 수 있습니다.
- 다형성 지원
public class Zombie : LivingEntity
{
public override void TakeDamage(int damage)
{
Health -= damage;
}
}
LivingEntity zombie = new Zombie();
zombie.TakeDamage(10); // 다형성으로 자식 클래스의 메서드 호출 가능
추상 클래스는 다형성을 지원합니다. 부모 클래스인 추상 클래스를 참조하여 자식 클래스의 메서드를 호출할 수 있으며, 코드의 유연성을 높이는 데 유용합니다.