프로그램에서 함수나 변수를 선언했을 때, 선언시 사용했던 이름을 컴파일러가 컴파일 단계에서 일정한 규칙을 가지고 변형하는 것으로, 네임 데코레이션(Name Decoration)이라고도 한다.
예시로는 Java에서 오버로딩(Overloading)을 들 수 있다. 오버로딩 시 같은 함수명을 컴파일러가 구분할 수 있는 이유는 인자의 형식과 갯수가 다를 경우 네임 맹글링을 통해 함수나 변수명 뒤에 추가 정보가 붙어 구별이 되기 때문이다.
ref.
보이는 것은 사실일 뿐 진실은 아니다... / [컴파일] 네임 맹글링 (Name Mangling, = Name Decoration)
- http://blog.naver.com/PostView.nhn?blogId=no1rogue&logNo=30095521394
'기타 자료들' 카테고리의 다른 글
[Python] 특별한 의미의 네이밍을 할 때 _(언더바), __(더블 언더바) 차이점 (0) | 2018.05.09 |
---|---|
[기초] 컨벤션(Convention) (0) | 2018.05.09 |
[Python] id(), hash() 차이 (0) | 2018.05.09 |
[Java] .hashCode()와 System.identityHashCode()의 차이점 (0) | 2018.05.09 |
[Error] STS 첫 프로젝트 생성시 발생하는 에러 해결 (1) | 2018.05.07 |