유니티 에서 GetComponent 를 자주 사용하면 안되는 이유
Unity의 핵심 메서드 중 하나로, 컴포넌트를 동적 (런타임에 실시간)으로 탐색할 수 있는 강력한 기능을 제공하지만 , 그 비용도 만만치 않기 때문에 남발해서는 안된다. 여기서 많은 비용이 발생하는 이유를 알아보자면 1. 컴포넌트 탐색 과정GetComponent는 컴포넌트를 가져올 때 게임 오브젝트의 모든 컴포넌트를 하나씩 확인해서 원하는 타입을 찾는다. 이 탐색 과정이 매번 일어나기 때문에 비용이 발생한다.2. 타입 체크 비용GetComponent()는 런타임에 타입을 체크해서 일치하는 컴포넌트를 반환한다. 이때 타입을 일치시키기 위한 추가 연산이 들어가며, 이 과정도 비용을 발생시킨다.3. 메모리 캐싱 문제메모리에 있는 데이터를 바로 불러오는 작업은 빠르지만, GetComponent는 캐싱되지 않은..
2024.09.12