나는 내 기억력을 믿지 않는다

[기술면접 대비] 상속이란 무엇인지, 프로젝트 내에 적용한 예시까지

박도치 2024. 3. 19. 23:48

상속이란 부모클래스의 특성과 동작을 자식클래스가 재사용 하는 것을 말한다. 이를 통해 코드의 재사용성을 높이고 클래스 간의 계층 구조를 형성할 수 있다.

 

프로젝트 내에서 대표적으로 사용했던 것은 플레이어 FSM 디자인패턴과 포션 그리고 퀘스트 등이 있다. FSM 디자인 패턴에서는 인터페이스에서 구현한 플레이어의 State를 각각 Enter, Exit, HandleInput, Update, FixedUpdate 인터페이스로 구현하여 이를 BaseState에서 강제 구현을 시킨 후, 각각의 상태들이 BaseState를 상속받는 형식으로 디자인 패턴을 구현하여 재사용한 경우가 있으며, 포션은 스태미너포션과 힐링포션 두 가지를 하나의 상위 potion클래스를 구현하여 힐링양, 포션의 이미지 리소스 위치 등을 상속받게끔 구현하였다.

 

마지막으로 퀘스트는 메인 업적 퀘스트와 일반 퀘스트, 일반퀘스트는 또 채집물 퀘스트와 몬스터 잡는 퀘스트로 나누어서 각각 상속을 받아 공통된 부분을 구현하였다.