새소식

Unity/이론 | 로직 | 연습

[Unity/Theory] 002. 유니티 상에서 변수를 구분하는 " m_ "

  • -

!!! NOTICE !!!
이 글은 유니티의 기본 이론 등을 다루고 있습니다!
제 편의에 따라 유니티의 기초부터 다루지 않을 수도 있습니다.
또한, 구글링을 통해서 얻은 정보를 제가 기억하고 사용해두기 위해 기록해둔 내용입니다!
이 점 유의하고 봐주세요!

프로젝트를 만들어 진행하다보면
수 많은 변수와 수 많은 함수를 볼 수 있다.

그러다보니 함수와 변수를 구분할 수 없어
변수를 입력하려 했더니 함수가 입력되는 현상을 볼 수 있다.

오늘은 변수와 함수를 구분할 수 있으면서
유니티 인스펙터 창에서도 필터링되어 보여지는 " m_ " 에 대해 알아보자.


m_ : 변수와 함수를 구분하는 키워드

거창(?)하게 말했지만 사실 간단한 내용이다.

프로그래머는 변수와 함수에 대해 암묵적인(?) 이야기가 오고 간다.
어떠한 이야기가 오고 가는지는 프로그래머 분들끼리의 이야기지만

예를 들어서 클래스와 함수를 선언할때는 앞에 대문자로 사용한다든지,
변수를 선언할때는 앞에 소문자로 사용한다든지..

Class MyClass {	//클래스를 선언한다면..

	//변수를 선언한다면..
	int value;
    int number;
    
    //함수를 선언한다면..
    public void MyMethod() {
	}
    
    public void FooWooToo() {
    }
}

물론 이 내용은 어디까지나 필자 본인의 의견일 수 있다.
다른 프로그래머 분들은 다를 수 있다.
프로그래머 분들을 항상 존경한다..

유니티에서도 이를 적용하여 구현해도 된다.
하지만 더욱 확실하게 구분이 가능하다. 이것이 " m_ " 이다.

먼저, 변수를 선언할 때 변수명 앞에 m_을 붙여서 선언해보자.

int m_변수명;

함수 내에서 변수를 호출하려 Ctrl + Space 를 입력하면
어디있는지 보기 힘들어 찾기 힘들지만,

m_ 만 입력하면 변수가 바로 등장하는걸 볼 수 있다.
이를 통해 빠른 변수 확인이 가능하다.


추가로, public 으로 선언된 변수는 인스펙터 창에서 확인이 가능한 걸 알고 있을 것이다.
이때, 변수가 m_ 키워드와 함께 선언되어 있다면 인스펙터는 m_를 필터링해서 없애주고,
기존 변수이름 만을 보여준다.

실제로 m_ 키워드가 선언된 변수이다.

유니티에서 가시성을 위해 필터링되어 보여주는 듯하다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.