본문 바로가기

유니티 프로그래밍

유니티에서 컴포넌트에 붙어있지 않은 스크립트 접근하기

유니티에서도 static을 사용하는데

다들 알다시피 아래의 코드처럼 모든 객체(클래스)는 new 키워드를 통해서 선언해줘야 사용이 가능한 인스턴스로 된다.

Calculator cal = new Calculator(); // Calcurator 라는 클래스를 new 키워드를 통해 객체화
cal.Plus(); // Calcurator 클래스의 Plus 메서드 호출


그런데 문제는 유니티에서 객체의 컴포넌트를 적용할 때 위와 같은 방식으로 하지 않고

GameObject 안에 있는 GetComponent로 사용하여 스크립트 컴포넌트를 불러온 후 사용을 하는 경우가 대다수인데,

만약 GameObject 의 컴포넌트에 안붙인 클래스에는 접근이 어렵다는 것이 문제다.

이런 경우를 위해 static 클래스를 사용하여 컴포넌트에 없는 스크립트 마저도 접근이 가능하다.


앞으로 만약 GameObject에 붙이지 않은 스크립트가 있다면, static으로 사용하는 방법을 사용하는 것도 하나의 선택지가 될 수 있다.