GetComponent()는 원하는 타입의 컴포넌트를 자신의 게임 오브젝트에서 찾아온다.
여기서 꺾쇠 <>로 가져올 타입을 받는다
void Start(){
playerRigidbody = GetComponent<Rigidbody>();
}
GetComponent<Rigidbody>()로 자신의 게임 오브젝트에서 Rigidbody 타입의 컴포넌트를 가져와서
playerRigidbody 변수에 대입한다
여기서 <>는 generic 기법이다.
이는 메소드나 클래스가 여러 타입에 호환되게 만들어준다.
<>안에 원하는 타입을 명시하면 클래스나 메소드가 해당 타입에 맞춰 동작한다.
generic을 쓰지 않으면 무슨 일이 일어날까?
같은 동작을 하는 여러 타입의 메소드나 클래스를 일일이 만들어야한다.
GetComponent()동작을 하는 GetComponentRigidbody(), GetComponentTransform(), GetComponentRenderer(),....
등등 하나하나 다 만들어야한다.
이를 위해서 GetComponent()는 generic을 사용할 수 있게 구현되어있고, 그러므로 모든 타입에 대응할 수 있게 된다
728x90
'프로그래밍 > Unity&C#' 카테고리의 다른 글
사용자의 입력을 감지하는 프로그램 (0) | 2024.12.23 |
---|---|
Unity의 Material 만들기 (0) | 2024.12.21 |
unity의 컴포넌트 패넌(+MonoBehaviour) (0) | 2024.11.21 |
Unity 오브젝트 생명주기 익히기 (0) | 2024.11.14 |
Unity를 위한 C# 기초 핵심 강의 보며 정리하기 (0) | 2024.11.10 |