• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

구조체..

20.08.06 17:03 작성 조회수 91

2

선생님 강좌 굉장히 감동하며 완강을 하긴했습니다. 

그런데, 사실 구조체 챕터 이전까지는 사실 완전히 이해하며 수강해서 굉장히 좋았는데,

구조체부터는 설명을 여전히 꼼꼼하신데, 내용자체가 좀 어려워져서 그런지 제 개인적으로는 이해가 완전히 되지 않은채 마지막까지 완강을 하게 되었네요.

구조체는 생긴건 클래스같은데 막상 사용은 클래스랑 다르게 변수선언이나 함수 사용하듯이 사용하는것도 이게 뭔가 싶고... 

그이후로는 그냥 일단 한번 쭉보자하는 느낌이었습니다.

혹시 구조체 이후 강의에 대한 보강을 고려해주신다면 감사하겠습니다.

저는 일단 제가 이해가 부족했던 부분부터는 다시한번 강의를 보겠습니다.

감사합니다.

답변 2

·

답변을 작성해보세요.

1

우선 c언어에서 사용하는 구조체와 객체지향적인 구조체를 비교해서 강의를 추가해야 할것 같습니다. 

c언어의 구조체의 경우 데이터만을 관리 하는 측면으로 사용하는 형태이고 c#의 구조체의 경우 객체지향적인 형태로 관리를 하기 위함이 강합니다. 

객체지향적인 관리라면 함수와 변수를 모아서 사물로 인식하겠다는 의미인데 실제 데이터를 관리한다고 생각하면 배열이나 리스트까지를 생각한 상태가 되어야 이게 관리가 되니 아직 배열을 배우지 않은 상태에서 구조체로 데이타를 관리하는 것을 배우는 것이 말이 맞지 않습니다.

객체지향에서의 구조체는 데이터이고  의인화 한다고 할까요. 그리고 클래스는 실제 사물을 의인화 하는 형태로 작업합니다. 아직 이해가 가지 않으신게 당연한 것으로 생각하고요. 그래서 구조체를 의인화 한다고 하면 "세점을 가지는 구조체야 너의 위치를 보여줘" 라고 명령을 내리기에 show 함수가 구조체 안에 있습니다. 

클래스의 경우는적캐릭터 같은 객체를 의인화 하기에 "적캐릭터, 계속 왼쪽으로 움직여" 라고 명령을 하는 식으로 사용합니다. 그런데 아직 객체지향을 아직 배운게 없고 이걸 기본 문법을 배운 상태에서 메모리를 가지고 설명을 하려고 하기에 설명을 무엇을 해야할지를 고민하다 실제 메모리만을 먼저 소개하고 그렇습니다.

어떻게 구성을 변경할지를 조금 고민해보도록 하겠습니다 ^^ 감사합니다. 

1

네 알겠습니다 구조체를 사용해서 무엇인가를 하는 내용에 대한 강의 같은게 없어서 그런가 싶습니다 벡터3가 유니티에서 사용되는 구조체이며 저희가 구조체를 만들지 않고 나중에 그냥 벡터3를 사용하는 형태로 진행되기에 여기가 조금 미흡한점도 있는 것 같습니다

show 함수가 있는 이유를 중점적으로 해서 조금 시간이 지난후에 진행하도록 하겠습니다

우선 슈팅 게임 강의가 끝나지 않아서요 파트1의 컴퓨터 구조 강의까지 완료하고  보강하도록 하겠습니다

피드백 정말 감사합니다 ^^