강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

양승근님의 프로필 이미지
양승근

작성한 질문수

절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG

적 캐릭터 상태 머신 구현 (1/2)

기초적인 질문

작성

·

12

0

현재 16강을 듣고 있는데요. 코드를 짜시는 형태가 대부분 c#클래스와 인터페이스를 구조로 해서 필요할 때 가져와서 사용하는 구조인 것 같은데요. 궁금한 점은 하이어라키에 있는 스크립트와 그냥 스크립트로만 존재하는 것은 어떤 차이가 있을까요?

 

질문이 이해가 잘 되지 않으실수도 있을 것 같은데요. 저는 거의 모든 스크립트를 만들어서 하이어라키 오브젝트 안에 넣어서 만들었거든요.

답변 1

0

이재현님의 프로필 이미지
이재현
지식공유자

안녕하세요. 양승근님,

우선 질문을 제대로 이해했는지 모르겠지만, 상태머신 구현할 때나 다른 코드 작성할 때 기본 Monobehavior와 인터페이스를 상속받아서 사용하는 부분에 대한 질문이신것으로 이해했습니다.

우선 C#은 다중 상속을 지원하지 않지만 Interface를 통해 구현할 수가 있습니다.

public class Enemy : MonoBehaviour, IDamageable, IInteractable
{
    ...
}

그리고 특정 클래스와 느슨한 결합(디커플링) 구조를 구현할 수 있습니다. SOLID 원칙중 인터페이스 분리원칙과도 부합하는 방식이라고 생각하시면 되시구요. 추후 코드의 확장 및 수정에도 용이한 장점도 있습니다.

어떤 부분의 코드에서 의구심이 드셨는지를 몰라서 원론적인 말씀만 드렸습니다.

 

 

양승근님의 프로필 이미지
양승근

작성한 질문수

질문하기