안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 안드로이드 질문은 아니고 공통적인 것 같아서
이렇게 질문을 올립니다.
개발되어 있는 소스 분석 등을 할때 보면 C언어나 Java나 가끔씩 변수명을 이런식으로 하는 것을 많이 보았는데요
어떤 이유에서 이렇게 선언을 하는지 궁금해서 질문 올립니다.
ex) int mData;
char mList;
이렇게 위에 보면 m이던 s던 꼭 앞에 붙여 있는 변수명을 많이 보았는데요
혹시 아시는 분 있나요 ...;;
질문이 너무 쌩뚱 맞나요;;;; 소스 분석중 계속 궁금 했던 부분이라 .....;;;;;;
아시는 분 답변 부탁드릴게요 ^^;;;;;;
2011.09.09 19:38:51
위에서 다 설명하셨는데, m은 멤버 변수를 의미합니다. 이렇게 작명하는 사람들이 많긴한데 개인적으로 헝가리안 표기법을 별로 안좋아합니다.
개인적인 생각일지 몰라도 이미 개발 툴에는 저런 표기법에서 담고있는 내용들을 쉽게 볼 수 있습니다.
예를들어 이클립스에서 멤버 변수의 경우에는 파란색으로 표시가 되죠. 이런식으로 한눈에 알아볼 수 있게끔 툴에서 제공을 해주는데 굳이 저러한 표기법을 사용하는 것은 변수나 함수의 이름을 더 길게 만들고, 헝가리안 표기법이 익숙치 않은 사람들에게는 오히려 혼란을 가중시킬 수 있다는 생각입니다.
ms에서 그동안 헝가리안 표기법을 많이 썼는데,,
닷넷으로 오면서 헝가리안 표기법을 버린단 이야기도 들었습니다.




변수 이름만 보고도 어떤 변수인지 쉽게 파악하기 위한 네이밍 룰입니다..
헝가리안 표기법이죠..
사용 언어에 따라서 약간씩 다르긴 합니다만..
m(m_)은 거의 공통적으로 해당 클래스의 맴버 변수를 의미합니다. (함수, 메소드의 지역변수가 아닌..)