static
여러 객체가 같은 값을 공유해야 할 때 사용한다
public class Counting()
{
public static int staticCount = 0;
public int count = 0;
public Counting()
{
staticCount++;
count++;
}
}
위와 같이 클래스를 선언한 다음, 아래와 같이 다른 클래스에서 해당 클래스로 인스턴스를 생성한다면
public class Scene()
{
private void Start()
{
Counting count1 = new Counting();
Counting count2 = new Counting();
Counting count3 = new Counting();
int count = Counting.staticCount;
}
}
count1, 2, 3 각각의 클래스 내의 count 변수 값의 경우, count++ 명령어가 각 1번씩만 실행되었으므로 1이 나온다
하지만 Counting 클래스의 staticCount 값을 출력해 보면 총 3번이 실행되었으므로 3이 나오게 된다
Const
컴파일 상수라고도 부르며, 반드시 선언과 동시에 초기화시켜 주어야 한다
초기화 이후에 값을 변경할 수 없다
public const float PI = 3.14;
프로그램을 짤 때 반복되는 값을 상수로 선언할 때 쓰인다
public class Define()
{
public const float PI = 3.14;
}
public class Game()
{
private void Start()
{
Debug.Log(Define.PI);
}
}
클래스 내에 상수를 선언해 두면, static 변수와 동일하게 클래스명을 이용해 해당 상수값을 가져올 수 있다
Readonly
Const과 비슷하며, 런타임 상수라고도 부른다
선언과 동시에 초기화하거나, 생성자 내에서 초기화시켜줘야 한다
함수 내부에서는 선언이 불가능하다
클래스명을 이용해 상수값을 가져올 수 없고, 인스턴스명을 통해서만 값에 접근할 수 있다
'Programing > Unity(C#)' 카테고리의 다른 글
[Unity] Rect Transform Animation Position 변경하기 (0) | 2024.03.18 |
---|---|
[Unity] AddListener로 이벤트 추가하기 (0) | 2024.03.17 |
[Unity] Text Mesh Pro에서 한글 폰트가 깨지는 현상 (0) | 2024.03.13 |
[Unity] Text 길이에 맞게 배경 이미지 조절하기 (0) | 2024.03.13 |
[C#] Action 이벤트가 중복 실행되는 문제 (0) | 2024.03.12 |