[C#] Static 변수 / Static 함수 / Static 변수의 자기참조
2023. 8. 24. 15:08ㆍUnity
728x90
반응형
public class Test : MonoBehaviour
{
public static int number;
void Start()
{
Test.number = 20;
print(Test.number);
MyStaticFunc(10);
}
public static void MyStaticFunc(int a)
{
print(Test.number + a);
}
}
static 변수 number를 생성하였고, static 함수 myStaticFunc()를 생성하였다.
(**static 함수 안에서는 멤버변수를 사용할 수 없고 함수 입력 인자, 함수 내부 변수 또는 static 변수가 들어가야 한다. 외부 변수는 class의 메모리에 생성되기 때문)
Static 변수의 자기참조
Public class ManagerScript : MonoBehaviour
{
public static ManagerScript main;
void Awake()
{
main = this;
}
public int ManagerAdd(int a, int b)
{
print("ManagerAdd");
return a + b;
}
}
하나의 스크립트에 static main 변수를 만들었고, 자기참조의 변수 this를 대입하였다. 이를 이용하여 다른 클래스에서 ManagerScript를 참조할 수 있다.
Public class PlayerScript : MonoBehaviour
{
void Start()
{
int c = ManagerScript.main.ManagerAdd(10,20);
print(c);
}
}
다른 클래스에서 위와 같이 main 변수를 이용하여 ManagerScript.main.ManagerAdd를 함수를 바로 호출한다.
728x90
반응형
'Unity' 카테고리의 다른 글
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(3) 플레이어 제한 (0) | 2023.08.24 |
---|---|
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(2) 배경 설정 (0) | 2023.08.24 |
[Unity Project] <ShootOut2D> 2D 슈팅 게임 만들기(1) 플레이어 설정 (0) | 2023.08.23 |
[Unity] 오브젝트 통과와 충돌, 제거(Collider / Rigid Body / Destroy) (0) | 2023.08.17 |
[Unity] GameObject.Find (0) | 2023.08.16 |