오브젝트를 파괴하는 코드 Destroy.
스크립트에서 자기자신을 파괴하려고 하는데 가장 먼저 든 생각은
Destroy(this) 였다.
그리고 실행한 결과 오브젝트는 파괴되지 않고 무한히 쌓여갔다.
왜 이런 상황이 발생한 걸까.
언제나 그렇듯 컴퓨터는 정확하게 자신에게 주어진 수행을 이루어냈다.
Destroy(this); //1.
Destroy(this.gameObject); //2.
this는 자기자신,
componet의 구성원으로서 있는 script인 자기자신을 나타내는 것이다.
( this.~~~ 는 스크립트에서 자신이 원하는 값을 가져오는 것이다. )
그렇기에 1.에서 컴퓨터는 내가 생각한대로 오브젝트인 자기자신을 파괴하는 것이 아닌 컴포넌트만을 삭제하고 오브젝트는 그대로 남게되는 것이다.
반면에 2.는 this를 componet로 가지고 있는 게임오브젝트를 찾아서 그것을 직접 삭제해야 하는 것이다.