[Unity] 8. Static이 뭘까요. Bake 아닙니다. 정적변수 입니다.

Using Unity;
Using C#;
Using Programming;


Static 이란? 정적변수란?

기억 장소가 콜 스택에서 할당 및 할당 해제되는,
수명이 더 짧은 자동 변수(지역 변수가 일반적으로 자동임)와는 반대되는 개념이다. 
즉, 기억 장소가 힙 메모리에 동적 할당되는 객체와 반의어이다.

라고 합니다... 위키백과에서 말이죠




그렇다면 힙 메모리와 스택 메모리의 차이점은 뭘까요?

C#이 짱짱맨이 이유는 GC(가비지컬랙터)와 열거형의 편리함 이라고 생각합니다.

C++처럼 메모리를 해제하지 않아도 그분께서 메모리를 알아서 정리해주기 때문이죠.




저번 시간의 7. Static이 뭘까요? 에서의 Static과 같은 의미로
(평생 안 움직일 오브젝트를 계속 계산할 필요성)

해제하지 않고 계속 쓸 클래스나 변수를 Static으로 선언해주는 것이죠.




단순히 메모리 영역에 도움이 되고자 Static을 하는게 아닙니다.

개발자의 엄청난 생산성을 불러오는데 더 큰 의미가 있습니다.


99+개에서 Manager 클래스를 이용해 기본적인 항목을 한곳에서 참조하고 있습니다.

코루틴을 쓰시는 분이라면 보이시겠지만 Yield값 또한 캐싱하여 사용합니다.





GameManager든 NetworkManager든 PhysicsManager든 CameraManager든

그 무엇이든 한곳에서 정의하여 모듈화한다면 엄청난 생산성이 생기지 않을까요??