인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

정상훈님의 프로필 이미지
정상훈

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Button Event

SerializeField 질문이요

작성

·

632

2

이 강의 말고 다른 사람의 강의도 종종 듣고 있는데 그분도 SerializeField 사용을 많이 하시더라고요

강의 편의상 자주 사용하는 건지 아니면 실무에서도 자주 사용하는 건지 궁금합니다

답변 3

5

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

Attribute만 남기는 것이기 때문에
실제로 객체의 성능엔 차이가 없습니다.
참고로 유니티 엔진에서'만' 보이는 것은 아니고
실제 Reflection 코드를 만들 때도 똑같이 해당 Attribute가 적용됩니다.

2

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

편의상 사용하는게 아니고 이유가 있습니다.
특정 Component의 변수를 public으로 만들면,
유니티 Inspector에서 툴로 변수를 수정할 수 있게 되는데요.
단순히 툴 지원을 위해 객체지향을 깨는 public으로 만드는게 찜찜할 수도 있습니다.
이럴 떄 변수를 protected, private 등으로 만들면서
SerializeField로 붙여주면
Inspector에서 해당 변수가 보이게 됩니다.

1

정상훈님의 프로필 이미지
정상훈
질문자

말씀하신 부분은 이해를 했는데 만약 SerializeField를 남용 시 생기는 문제는 없나요?

엔진에서만 보이기 때문에 전혀 문제가 없는 건지 이 부분이 정확히 알고 싶네요

정상훈님의 프로필 이미지
정상훈

작성한 질문수

질문하기