참고 사이트 : https://docs.unity3d.com/kr/560/ScriptReference/GameObject.Find.html
유니티에서 오브젝트를 찾을 때 사용하는 함수로 주로 GameObject.Find() 처럼 사용한다.
이 함수는 활성화된 GameObject만 반환하고 GameObject를 찾지 못하면 null을 반환한다.
또한 이름에 '/'가 포함되어 있으면, 계층 구조를 따라 탐색한다.
이름으로 자식 오브젝트만 찾고 손자는 탐색하지 않는다.
이름에 / 문자를 통해서 손자를 찾아갈 수 있다.
ex:
gun.transform.Find("magazine/ammo")
Find 함수 사용을 자제해야 하는 이유는 성능 저하 때문이다.
Find 함수를 사용하면 씬에 있는 모든 오브젝트를 순회하며
이름이 일치하는 오브젝트를 찾으므로 오브젝트가 많아질수록
속도가 매우 느려지며 반복적으로 호출하면 프레임 드랍이 발생할 수 있다.
한 번 오브젝트를 찾으면 캐싱해서 사용하는 것이 성능에 좋다.
GameObject.FindWithTag : 지정한 태그가 붙어있는 활성화된 GameObject 중 하나를 반환한다. 없으면 마찬가지로 null을 반환한다.