static

static 키워드 C#에서 static 키워드는 클래스의 멤버(필드, 프로퍼티, 메서드 등)가 클래스 인스턴스에 속하지 않고, 해당 클래스 자체에 속한다는 것을 의미한다. 즉, 클래스의 인스턴스를 생성하지 않고도 해당 멤버에 접근할 수 있으며 클래스 이름을 통해 직접 접근할 수 있다. 이는 메모리 관리에서 효율적이며, 일반적으로 유틸리티 함수나 공유 데이터를 관리할 때 사용된다. Unity 개발에서 'static' 키워드의 사용은 특히 중요한데, 이는 게임 개발 시 흔히 발생할 수 있는 다양한 상황에서 전역적으로 접근할 필요가 있는 데이터나 기능을 제공하기 때문이다. 예를 들어, 게임 내에 단 하나만 존재해야 하는 게임 매니저, 설정, 유틸리티 함수 등을 구현할 때 'static'을 사용할 수 있다. ..
class에서 사용되는 static은 앞선 챕터에서 다루었던 빌드의 링크 프로세스에서 사용되는 static과는 다른 의미이다. static의 사용 예시는 다음과 같은 3가지 경우로 나누어 볼 수 있다. 1. static member function (static 멤버 함수) 2. static member variable (static 멤버 변수) 3. static variable in a function. (함수 안의 static 변수) 1. static member function 1) static member function은 object와 연관되어 있지 않다! 이 코드에서처럼 멤버 함수는 굳이 object를 만들지 않아도 콜 할 수 있다. 멤버 함수가 굳이 객체를 만들지 않아도 콜 할 수 있는 이유..
extern, static은 c++ 빌드 프로세스에서 핵심적인 키워드이다. 두 키워드는 모두 링킹 linkage 프로세스와 관련이 되어 있다. extern: 바깥쪽에서 링크를 찾아라. static: 바깥쪽이 아닌 안쪽으로만 링크를 열어라. *c++에서는 이렇게 빌드 프로세스에서 사용되는 static 말고도 static 메모리를 사용하라는 static 키워드가 존재하니 헷갈리지 말자. *참고 cppreference의 static extern 의 linkage 파트 참고할 것. https://en.cppreference.com/w/cpp/language/storage_duration Storage class specifiers - cppreference.com The storage class specifie..
프로세스 메모리 구조는 이런 식으로, 스택과 같은 경우는 위쪽에서부터 촘촘하게 아랫방향으로 진행되고, 힙은 아래쪽에서 위 방향으로 채워져 올라가는데 힙 메모리의 특성상 중간중간에 비어 있을 수 있다. 프로그램의 실행 과정 중에서 새로운 공간을 할당받고, 이미 할당받은 메모리가 해제되면서 빈 공간이 생기기 때문이다. 앞선 챕터들에서 힙과 스택 메모리의 장단점과 특징, 그리고 그 차이점에 대해 알아보았다. 정리해보면, Stack 스택 메모리는 1) stack frame 스택 프레임 단위로 할당 해제가 된다. 2) 할당 해제의 위치는 항상 탑 위치에서부터 일어나게 된다. (위 프로세스 메모리 뷰 위쪽) Heap 힙 메모리는 1) 새로운 메모리 공간을 받기 위해 힙 공간 중간에 어느 파트가 비어 있는지 확인해야..
HeadlessCreator
'static' 태그의 글 목록