GetComponent()로 알아보는 generic이란

GetComponent()는 원하는 타입의 컴포넌트를 자신의 게임 오브젝트에서 찾아온다.

 

여기서 꺾쇠 <>로 가져올 타입을 받는다

 

void Start(){
    playerRigidbody = GetComponent<Rigidbody>();
}

 

GetComponent<Rigidbody>()로 자신의 게임 오브젝트에서 Rigidbody 타입의 컴포넌트를 가져와서

 

playerRigidbody 변수에 대입한다

 

여기서 <>는 generic 기법이다.

 

이는 메소드나 클래스가 여러 타입에 호환되게 만들어준다.

 

<>안에 원하는 타입을 명시하면 클래스나 메소드가 해당 타입에 맞춰 동작한다.

 

generic을 쓰지 않으면 무슨 일이 일어날까?

 

같은 동작을 하는 여러 타입의 메소드나 클래스를 일일이 만들어야한다.

 

GetComponent()동작을 하는 GetComponentRigidbody(), GetComponentTransform(), GetComponentRenderer(),....

 

등등 하나하나 다 만들어야한다.

 

이를 위해서 GetComponent()는 generic을 사용할 수 있게 구현되어있고, 그러므로 모든 타입에 대응할 수 있게 된다

 

 

728x90