작성
·
255
답변 2
1
0
우와 도움이 되신다니 너무 다행이네요 감사합니다 :)
실제 강의에서는 '4.16 완성도 갖추기 3 - 점수 기능 구현' 강의에 콜백의 예시가 자세히 나와있습니다! 하지만 이벤트를 사용하기 때문에 이론 강의 (4.10~4.13)를 모두 익히신 후 수강하시는 것을 권해드립니다!
struct와 class의 경우, 사용성의 측면에서만 보자면 비교적 간단한 타입(강의에서의 점과 같은 타입)은 struct로 표현하고 복잡한 타입(Enemy와 같은 타입)은 class로 표현해요. struct가 class보다 메모리에 할당될 때 조금 더 가벼워서 성능상 이득을 볼 수 있기 때문입니다!
(아래 설명은 이해가 어려우시면 넘어가셔도 무방합니다!)
좀 더 자세히 설명드리자면 , class로 생성된 객체는 힙이라는 메모리 공간에 할당되고, struct 객체는 스택이라는 메모리 공간에 할당이 됩니다. 힙 메모리는 공간이 모자라면 유니티에서 가비지 컬렉터라는 것을 작동하여 청소하는 시간을 가지는데요. 이것이 성능상 좋지 않기 때문에 간단한 타입은 class가 아닌 struct로 선언하여 힙 메모리의 과도한 사용을 피하는 것이 좋습니다. (게임이 버벅거리는 이유 중에 하나에요!)
감사합니다 :)