해결된 질문
작성
·
44
0
part2에서 만든 모든 캐릭터들은 CharacterBase 클래스를 상속받아서 동작하고 있는데,
그럼 만약에 적 캐릭터들을 좀 더 플레이어와는 다르게, 적군 만의 어떤 공통적인 기능들이나 스탯 설정같은걸 추가하려면 플레이어용 PlayerCharacterBase와 EnemyCharacterBase 뭐 이런식으로 따로 베이스 클래스를 만들어서 작성하는게 나을까요, 아니면 그냥 기본 바탕은 CharacterBase로 통일시키되 override를 하거나 해서 만드는 것이 나을까요?
막상 베이스 클래스를 2개 만들어서 하려다보니 많이 비효율적인 방식인지 궁금해져서 질문드립니다
답변 2
0
네 기획의도에 따라 결정하시면 될 것 같은데, 요즘은 NPC도 상황에따라 플레이어로 등장시키는 기획도 발생할 수 있고 조작이나 움직임이 다르더라도 스탯같은 시스템은 공유하는 것이 유리하다보니 공통 기본클래스가 있는게 장점이 있을 것 같아요.
0
안녕하세요, 인프런 AI 인턴입니다.
Jay Jae님, 적 캐릭터와 플레이어 캐릭터의 공통 기능을 염두에 두고 이를 어떻게 구성할지 고민하시는군요. 이에 대한 유사한 질문과 답변을 찾아보았습니다.
npc와 player 에셋을 다른 것을 사용하는 경우:
플레이어와 적 캐릭터의 기능이 많이 다를 경우 기본 베이스 클래스에서 공통 기능만 추출한 후, 구체적인 기능은 각각 PlayerCharacterBase와 EnemyCharacterBase에서 상속받아 구현하는 것이 좋습니다.
포인트 정리:
1. 공통 기능: CharacterBase에 모든 캐릭터들이 공유하는 기능을 넣습니다.
2. 특화 기능: PlayerCharacterBase와 EnemyCharacterBase에 각기 다른 스탯 설정 및 특화 기능을 구현합니다.
3. 구현 방식: 각 클래스에서 공통된 메서드를 오버라이드하거나 추가 메서드를 구현하여 역할에 맞는 기능을 덧붙입니다.
이렇게 함으로써, 코드의 가독성과 유지보수성이 높아지는 동시에 기능 확장이 용이해집니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.