• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

콜백 질문 2

21.04.23 18:08 작성 조회수 198

0

감사합니다 c#을 새로 배우기 시작한 분들에게 최고의 강의인 것 같아요..

설명주셔서 mom과 son의 예에서는 어떤 흐름인지 대충은 이해되는 것 같은데

실제 게임에서 콜백함수가 어느부분에 쓰이는지 궁금해서요. (해당 강의가 어떤것인가요)

더해서 struct와 class의 차이도 개념은 이해한 것 같은데

이것도 게임에서 어떻게 다르게 쓰이는지 짧게만 코멘트 드립니다.

답변 2

·

답변을 작성해보세요.

1

신진님의 프로필

신진

질문자

2021.04.23

최고의 강의 친절한 답변 감사드립니다~!

0

우와 도움이 되신다니 너무 다행이네요 감사합니다 :)

실제 강의에서는 '4.16 완성도 갖추기 3 - 점수 기능 구현' 강의에 콜백의 예시가 자세히 나와있습니다! 하지만 이벤트를 사용하기 때문에 이론 강의 (4.10~4.13)를 모두 익히신 후 수강하시는 것을 권해드립니다!

 struct와 class의 경우, 사용성의 측면에서만 보자면 비교적 간단한 타입(강의에서의 점과 같은 타입)은 struct로 표현하고 복잡한 타입(Enemy와 같은 타입)은 class로 표현해요. struct가 class보다 메모리에 할당될 때 조금 더 가벼워서 성능상 이득을 볼 수 있기 때문입니다!

(아래 설명은 이해가 어려우시면 넘어가셔도 무방합니다!)

좀 더 자세히 설명드리자면 , class로 생성된 객체는 힙이라는 메모리 공간에 할당되고, struct 객체는 스택이라는 메모리 공간에 할당이 됩니다. 힙 메모리는 공간이 모자라면 유니티에서 가비지 컬렉터라는 것을 작동하여 청소하는 시간을 가지는데요. 이것이 성능상 좋지 않기 때문에 간단한 타입은 class가 아닌 struct로 선언하여 힙 메모리의 과도한 사용을 피하는 것이 좋습니다. (게임이 버벅거리는 이유 중에 하나에요!)

감사합니다 :)