강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của mmoooonn
mmoooonn

câu hỏi đã được viết

[Thăng cấp đoàn kết!] Hệ thống kỹ năng được phát triển theo mô-đun

SkillData 구조체 질문

Viết

·

121

0

갑자기 궁금해져서 질문드려봅니다.

 

SkillData, EffectData등이 struct로 구현되어 있는데,

struct 내부에 참조타입이 많은 상황이잖아요?

 

이럴 경우 struct 내부의 참조타입이 얕은 복사가 일어날 수 있어 에디터의 추가 버튼에서 DeepCopySerializeReference 메소드를 구현해 사용 중인 것 같은데,

SkillData, EffectData등을 class로 구현해 IClonable을 상속받아 Clone 메소드로 추가시키는 것과 어떤 차이가 있을지, struct로 구현을 하신 이유가 있는지 등이 궁금합니다.

unitymodules

Câu trả lời 1

0

Developer G님의 프로필 이미지
Developer G
Người chia sẻ kiến thức

수강해주셔서 감사합니다.

기본적인 이유는 객체 외부에서 Data를 함부로 수정하지 못하게 하기 위함이구요, 부가적으론 Data 객체들은 이름 그대로 별 다른 동작 없이 내부에서만 제어될 Data의 묶음일 뿐이고, 이런 Data 객체들은 struct를 사용하는게 권장되서 그렇습니다.

다만, 이는 제 Coding Style일 뿐 절대적인게 아니기 때문에, 판단 하에 class가 낫다고 생각이 드신다면 당연히 class 객체로 바꾸셔도 상관 없습니다.

감사합니다.

Hình ảnh hồ sơ của mmoooonn
mmoooonn

câu hỏi đã được viết

Đặt câu hỏi