1. 식별자 (Identifier) 이란?
ㅇ 요소 간에 구별성/식별성을 주는 `이름` 또는 `표식` 또는 `숫자`
2. [프로그래밍 언어] 식별자(Identifier)
ㅇ 프로그램 안에서 식별자는,
- 구성요소 간에 구별/식별성을 주는 이름 (주로, 프로그래머가 정하는 이름)
. 例) 변수명,상수명,레이블명,함수명,메소드명,클래스명,타입명 등
ㅇ [참고]
- 프로그래밍 언어 마다, 미리 정의되는 언어 구성자 로써, 크게 아래의 두가지로 구분 가능
. 재정의 불가능 식별자 : 예약어 라고 함
. 재정의 가능 식별자 : 미리 정의되었지만, 재정의가 가능한 식별자
※ [참고]
- 식별자/예약어/키워드/토큰 등의 비교 ☞ 식별자 예약어 키워드 토큰 어휘항목 비교 참조
- 식별자 이름 충돌 방지 ☞ 네임스페이스 참조
3. [프로그래밍 언어] 식별자 작명 규칙 및 작명 관례
※ 한편, 프로그래밍 언어 마다 식별자에 주게되는 특성들은, 이같은 것들에서 차이날 수 있음
- 최대 길이는 얼마나?
- 첫 글자로 문자, 특수문자(`_`,`$`)로 시작 가능하고, 숫자가 올 수 없음 등?
- 사용 가능 문자의 집합은?
- 대소문자를 구분하는가?
- 심지어 키워드(예약어)를 식별자로도 사용할 수 있는가?
ㅇ 식별자 작명 규칙은, 통상,
- (최대 길이) 임의 길이(가변 길이)의 토큰으로써,
- (첫 글자) 첫 글자는 알파벳 문자 또는 `_`로 시작하며,
- (문자 조합) 문자,숫자(디지트),`_(언더바)`를 조합시킨 문자열
- (제외) 프로그래밍 언어 상의 예약어는 식별자로 사용할 수 없음
* [참고] 언어별 명명규칙 ☞ 자바 명명규칙, 자바스크립트 명명규칙 등 참조
ㅇ 식별자 작명 관례들로는,
- 낙타 표기법 (Camel Notation) : 낙타 등 처럼 중간중간 대문자가 튀어나와 보임
. 클래스명은, 워드 단위로 첫 글자를 대문자로 표현 : 例) MyRoom 등
. 변수명,메소드명은, 첫 글자를 소문자로 시작 : 例) count,getKey 등
. 변수명은, 명사 위주로, 메소드명은 동사 위주로 : 例) name, getName
. 긴 이름에서 단어가 바뀔 때 마다 대문자를 써서 가독성을 좋게 함
- 스네이크 표기법 (Snake Notation)
. 변수명,함수명 등을 소문자로 하고, 단어 사이 밑줄로 구분 : 例) snake_case 등