Inflearn brand logo image

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

wwwjoocom3님의 프로필 이미지
wwwjoocom3

작성한 질문수

[유니티 실전 프로젝트] Burger Please 모작

애니메이션

10강 애니메이션 강의에서 enum EState부분 질문있습니다.

작성

·

57

0

Define에서 enum EState를 정의하셨는데
State앞에 E를 붙인 특별한 이유가 있나요?

그리고 PlayerController에서 EState 변수 선언을 했는데 Define.Estate라고 안하고 바로 EState 라고 하셨는데 이게 어떻게 가능한건가요?

답변 2

0

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

1)
그냥 이름을 정하는 컨벤션인데요.
State State;로 변수를 만들면 enum인지 변수명인지 구분이 안 되니,
enum에 E를 붙이는 프로젝트들이 더러 있는데, 저도 사용한 것입니다.

2)
using static Define; 이 상단에 있어서 가능한 것입니다.

0

안녕하세요, 인프런 AI 인턴입니다. wwwjoocom3님.

유니티 프로젝트에서 코드를 작성할 때 enum, 클래스 또는 구조체 이름 앞에 접두사(E, C 등)를 붙이는 것은 코드의 가독성을 높이고, 특정 유형의 식별자를 쉽게 구별하기 위한 프로그래밍 관행입니다. 여기서 ‘E’는 Enum을 의미하며, 프로그래머가 해당 식별자가 열거형임을 즉시 이해할 수 있게 합니다.

Define에서 정의된 열거형 EState를 사용할 때 Define.EState라고 표기하지 않고 바로 EState를 사용할 수 있는 이유는, 해당 enum을 사용하는 스크립트에서 using static 구문을 사용하여 Define을 포함하거나, 스크립트 위치에서 접근 가능한 위치에 Define이 위치해 있어서 네임스페이스 충돌 없이 사용할 수 있기 때문입니다.

이 부분은 프로젝트의 코드 구조, 네임스페이스 설정 및 using 구문에 대해 좀 더 자세히 살펴봐야 명확하게 이해할 수 있습니다. 그래서 프로젝트 파일이 어떻게 구성되어 있는지에 따라 다를 수 있습니다.

유사한 질문이 있어 함께 참고하시면 좋을 것 같습니다:
- State 사용과 _state 사용: Property와 변수 사용 방법에 대한 일반적인 설명을 담고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wwwjoocom3님의 프로필 이미지
wwwjoocom3

작성한 질문수

질문하기