식별자

식별자(識別子, identifier)는 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름을 뜻한다. 식별자는 정보를 다루는 모든 체계에서 내부적으로 사용되는데, 정보를 처리하기 위해서는 그 정보를 가리킬 방법이 있어야 하기 때문이다. 약어 ID는 식별(identity), 식별 과정(identification), 식별자를 의미하기도 한다. 식별자는 단어, 숫자, 문자, 기호, 또 이들의 어떠한 결합도 될 수 있다.
대표적인 식별자로 URL, ISBN, IP 주소, 데이터베이스 키 등이 있다. 데이터베이스에서는 테이블에서 특정한 튜플을 식별내기 위해 컬럼 중 하나(또는 그 이상)을 식별자로 지정한다.
컴퓨터 과학
[편집]컴퓨터 언어
[편집]프로그래밍 언어에서 식별자는 코드에 존재하는 변수, 자료형, 서브루틴 등을 가리키는 토큰이다.
많은 프로그래밍 언어는 식별자에 사용될 수 있는 문자에 제한을 가하는데, 예를 들어 C와 C++ 계열에서는 로마자 대문자와 소문자, 숫자, 밑줄 문자만 식별자로 쓸 수 있으며, 최근의 몇몇 언어는 식별자에 유니코드 문자를 쓸 수 있도록 하기도 한다. 많지는 않지만 식별자에 따라서 가리키는 대상이 달라지는 경우도 있다. 식별자에 대한 연구가 부족했던 시절에는 부정확하고 불명확한 해석이 이루어지기도 하였다.
식별자의 프로그램 내의 스코프나 액세서빌리티는 지역(local) 또는 전역(global)일 수 있다. 전역 식별자는 함수 밖에서 선언되며 프로그램 전반을 통해 이용 가능하다. 지역 식별자는 특정한 함수 안에서 선언되며 해당 함수 안에서만 사용이 가능하다.[1]
컴파일러와 인터프리터는 실제 사용되는 문자 시퀀스에 기반한 식별자에 어떠한 의미를 부여하지 않는 것이 일반적이다. 그러나 예외가 있다.
- 펄에서 변수는 시길이라는 이름의 두문자를 사용하여 지칭하며 식에서 변수가 어떻게 해석되는가에 대한 관점을 규정한다.
- 루비에서 변수는 식별자가 대문자로 시작할 경우 자동으로 불변으로 간주된다.
- 포트란에서 변수 이름의 첫 문자는 기본값으로 정수 변수로 만들지 소수점 변수로 만들지를 지시한다.
- Go에서 변수 이름의 첫 문자를 대문자로 두면 public으로 소문자로 두면 private으로 간주한다.
Go와 같은 일부 언어에서 식별자 고유성은 스펠링과 가시성(visibility)에 기반을 둔다.[2]
CDMA 단말기
[편집]이 문단의 내용은 출처가 분명하지 않습니다. (2014년 1월) |
CDMA 단말기, 즉 휴대전화의 식별자(나밍, Naming)는 ESN, 일련번호와 전화번호가 있다. 기지국과 연동되는 각 통신사의 전산망에는 서비스 가입자의 ESN, 일련번호, 전화번호가 입력되어 있으며 이를 토대로 가입자를 식별하게 된다. 이 식별자들의 변경은 사용자가 임의로 행할 수 있지만 범법 행위이며 단말기의 통신을 불가능하게 만들 수 있다.
여러 분야에서의 식별자
[편집]식별자 | 범위 |
---|---|
원자 번호 | 국제 (ISV를 통해) |
오스트레일리아 사업 번호 | 오스트레일리아 |
CAGE 코드 | 미국과 북대서양 조약 기구 |
CAS 등록번호 | 미국에서 기원. 오늘날은 국제. (ISV를 통해) |
CODEN | 미국에서 기원. 오늘날은 국제. |
디지털 객체 식별자 (DOI, doi) | 핸들 시스템 이름공간, 국제 범위 |
DIN 표준 번호 | 독일에서 기원. 오늘날은 국제. |
E 번호 | E.U에서 기원. 국제적으로 간주 가능. |
EC 번호 | |
고용주 식별자 번호 (EIN) | 미국 |
EISP(Electronic Identifier Serial Publicaction) | 국제 |
국제 거래 단위 번호 | 국제 |
그룹 식별자 | 특정 컴퓨터 시스템 등 수많은 범위 |
국제 화학 식별자 | 국제 |
국제 표준 도서 번호 (ISBN) | ISBN은 EAN 이름공간의 일부임. 국제 범위 |
국제 전자책 식별자 번호 (IEIN) | 국제 |
국제 표준 연속 간행물 번호 (ISSN) | 국제 |
ISO 표준 번호(예: ISO 8601) | 국제 |
미국 의회도서관 제어 번호 | 미국 (일부 국제 서지적 유용성 포함) |
개인 식별 번호 | 수많은 범위 (예: 은행, 정부) |
개인 식별 번호 (덴마크) | 덴마크 |
의약 코드(Pharmaceutical code) | 각기 다른 수많은 시스템 |
제품 배치 번호(Product batch number) | |
연속간행물 상세 표준 식별코드 | 미국 (일부 국제 서지적 유용성 포함) |
일련번호 | 수많은 범위 (예: 회사, 정부 등) |
서비스 배치 번호(Service batch number) | |
사회 보장 번호 | 미국 |
세금 파일 번호(Tax file number) | 오스트레일리아 |
고유 문서 식별자 (UAI) | 국제 |
같이 보기
[편집]각주
[편집]- ↑ Malik, D. (2014). 《C++ programming : from problem analysis to program design》 7.판. Cenage Learning. 397쪽. ISBN 978-1-285-85274-4.
- ↑ “The Go Programming Language Specification - The Go Programming Language”. Golang.org. 2013년 5월 8일. 2013년 6월 5일에 확인함.