GameObject chunkGameObject = Inst(금지언어)antiate(chunkEmptyObject, transform);
chunkEmptyObject는 유니티에서 오브젝트 끌어다 넣는 값. public임
pooledChunks.Enqueue(chunkGameObject.GetComponent<Chunk>());
pooledChunks는 <Chunk>라는 클래스를 쓰는 queue임
여기서 내가 GetComponent를 그냥 컴포넌트 불러오는 걸로 알고 있음
이때 두번째 코드가 만들어진 인스턴스의 Chunk라는 cs 컴포넌트를 받아오는건데(내가 이해한걸로는)
이 코드에서는 그걸 Chunk 클래스 타입인 queue에 저장해버림
그래서 내 입장에서는 저 스크립트가 왜 갑자기 Chunk클래스가 되서 queue에 들어가는지 모르겠음
컴포넌트는 실체화된 클래스야
cs 스크립트는 그냥 너의 코드가 담긴 텍스트 파일이야 컴포넌트 != 스크립트
컴포넌트도 클래스임
인스턴스가 아니라 컴포넌트랑 클래스를 혼동하는 거 같은데 네가 말하는 그 컴포넌트라는게 유니티 모노비헤이비어를 상속 받는 클래스임
chunkEmptyObject는 아마 Chunk라는 컴포넌트를 가지고 있는 게임오브젝트이고 해당 인스턴스는 게임오브젝트의 복제본을 만드는 거 그래서 GetComponent()를 하면 복제된 오브젝트에서 Chunk를 찾아서 반환해주는 거라서 갑자기 Chunk 클래스가 되는 개념과는 좀 다르다고 생각함
쉽게 설명해볼려고 했는데 어디까지 모르는지 감도 안잡혀서 오히려 더 어렵게 들릴지도 모르겠네...
오 약간 이해됬거 같음 ㄱㅅㄱㅅ 그러니까 pooledChunk에 인스턴스을 갑자기 저장하는게 아니라 인스턴스의 Chunk 컴포넌트를 저장하는 거겟네