20231121_기록_유니티에서의 Static

2023. 11. 21. 21:49IT/TIL

오늘 한 것들

 

알고리즘 코드카타

Chapter 2 프로그래밍기초 팀 프로젝트

 

오늘의 TIL은 어제의 주제와 비슷하게 이어지는 주제로

어제 다른 Script에서 데이터를 받아오는 내용에서 아래처럼 private로 선언한 다음

public BaseItem statusWeapon;

public void CurrentEquipmentItem()
{

}

 

함수도 public void로 작성해야된다고 했었는데,

이는 내가 statusWeapon이라는 class를 만든 다음 데이터를 집어넣고

그 데이터를 열람(get)하기만 하는 것이라면 위처럼 사용해도 되지만,

 

그 데이터를 수정(set)해야되는 경우에는 위와는 다르게 아래처럼 static을 추가해야된다.

public static BaseItem statusWeapon;

public static void CurrentEquipmentItem()
{

}

 

즉, static의 유무에 따라 데이터에 대한 처리가 달라지는 것인데,

class 수준에서 데이터를 공유하고 싶다면 static을 사용하고,

독립적인 데이터로 유지해야된다면(받아온 데이터가 본래의 데이터에 영향을 주지 않게 하려면) static을 사용하면 안된다.

 

 

이번 팀 프로젝트에서 가장 근본적으로 들었던 의문이였던

static에 대한 정리가 어제와 오늘의 TIL을 통해 좀 더 구체적으로 정립된 느낌이다.

처음에는 이해하기 어려웠고, 사용하면서도 정확한 역할을 이해하지 못했는데,

이번 기회를 통해 static이라는 친구의 역할을 조금 더 자세히 알 수 있었다.