{{위키데이터 속성 추적}}
[[파일:Louvre identifiers Ma1274-MR242.jpg|섬네일|[[루브르 박물관]]의 동상 뒤의 식별자]]
'''식별자'''(識別子, identifier)는 어떤 대상을 유일하게 식별 및 구별할 수 있는 [[이름]]을 뜻한다. 식별자는 정보를 다루는 모든 체계에서 내부적으로 사용되는데, 정보를 처리하기 위해서는 그 정보를 가리킬 방법이 있어야 하기 때문이다. 약어 '''ID'''는 식별(identity), 식별 과정(identification), 식별자를 의미하기도 한다. 식별자는 단어, 숫자, 문자, 기호, 또 이들의 어떠한 결합도 될 수 있다.

대표적인 식별자로 [[URL]], [[ISBN]], [[IP 주소]], [[키 (데이터베이스)|데이터베이스 키]] 등이 있다. 데이터베이스에서는 테이블에서 특정한 튜플을 식별내기 위해 컬럼 중 하나(또는 그 이상)을 식별자로 지정한다.

== 컴퓨터 과학 ==
=== 컴퓨터 언어 ===
[[프로그래밍 언어]]에서 식별자는 코드에 존재하는 [[변수 (컴퓨터 과학)|변수]], [[자료형]], [[서브루틴]] 등을 가리키는 [[토큰 (파싱)|토큰]]이다.

많은 프로그래밍 언어는 식별자에 사용될 수 있는 문자에 제한을 가하는데, 예를 들어 [[C (프로그래밍 언어)|C]]와 [[C++]] 계열에서는 [[로마자]] 대문자와 소문자, 숫자, [[밑줄 문자]]만 식별자로 쓸 수 있으며, 최근의 몇몇 언어는 식별자에 유니코드 문자를 쓸 수 있도록 하기도 한다. 많지는 않지만 식별자에 따라서 가리키는 대상이 달라지는 경우도 있다. 식별자에 대한 연구가 부족했던 시절에는 부정확하고 불명확한 [[구문 해석|해석]]이 이루어지기도 하였다.

식별자의 프로그램 내의 스코프나 액세서빌리티는 지역(local) 또는 전역(global)일 수 있다. 전역 식별자는 함수 밖에서 선언되며 프로그램 전반을 통해 이용 가능하다. 지역 식별자는 특정한 함수 안에서 선언되며 해당 함수 안에서만 사용이 가능하다.<ref>{{서적 인용|last1=Malik|first1=D.|title=C++ programming : from problem analysis to program design|date=2014|publisher=Cenage Learning|isbn=978-1-285-85274-4|page=397|edition=7th edition.}}</ref>

컴파일러와 인터프리터는 실제 사용되는 문자 시퀀스에 기반한 식별자에 어떠한 의미를 부여하지 않는 것이 일반적이다. 그러나 예외가 있다.
* [[펄]]에서 변수는 [[시길 (컴퓨터 프로그래밍)|시길]]이라는 이름의 두문자를 사용하여 지칭하며 [[식 (프로그래밍)|식]]에서 변수가 어떻게 해석되는가에 대한 관점을 규정한다.
* [[루비 (프로그래밍 언어)|루비]]에서 변수는 식별자가 대문자로 시작할 경우 자동으로 [[불변객체|불변]]으로 간주된다.
* [[포트란]]에서 변수 이름의 첫 문자는 기본값으로 [[정수]] 변수로 만들지 [[부동소수점|소수점]] 변수로 만들지를 지시한다.
* [[Go (프로그래밍 언어)|Go]]에서 변수 이름의 첫 문자를 대문자로 두면 public으로 소문자로 두면 private으로 간주한다.
Go와 같은 일부 언어에서 식별자 고유성은 스펠링과 가시성(visibility)에 기반을 둔다.<ref>{{웹 인용|url=http://golang.org/ref/spec#Declarations_and_scope |title=The Go Programming Language Specification - The Go Programming Language |publisher=Golang.org |date=2013-05-08 |accessdate=2013-06-05}}</ref>

== CDMA 단말기 ==
{{출처 필요 문단|날짜=2014-01-31}}
CDMA 단말기, 즉 휴대전화의 식별자(나밍, Naming)는 [[ESN]], 일련번호와 전화번호가 있다. 기지국과 연동되는 각 통신사의 전산망에는 서비스 가입자의 ESN, 일련번호, 전화번호가 입력되어 있으며 이를 토대로 가입자를 식별하게 된다. 이 식별자들의 변경은 사용자가 임의로 행할 수 있지만 범법 행위이며 단말기의 통신을 불가능하게 만들 수 있다.

== 여러 분야에서의 식별자 ==
{{본문|분류:식별자}}
{| class="wikitable"
|-
! 식별자 !! 범위
|-
| [[원자 번호]] || 국제 ([[국제 과학 용어|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) || 국제
|}

== 같이 보기 ==
{{위키공용분류}}
{{columns-list|colwidth=30em|
* [[키워드 (프로그래밍)|키워드]]는 특별한 뜻을 가지는 식별자이다.
* [[메타데이터]]
* [[영구 식별자]]
* [[바코드]]
* [[학명]]
* [[문서 관리 시스템]]
* [[파일 서술자]]
* [[핸들 (컴퓨팅)]]
* [[신분증]]
* [[네임 바인딩]]
* [[이름공간]]
* [[국민식별번호]]
* [[명명법]]
* [[국제식물명명규약]]
* [[국제동물명명규약]]
* [[함수 오버로드|오버로딩]]
* [[개인정보]]
* [[통합 자원 식별자]] (URI)
}}

== 각주 ==
{{각주}}

{{사람 이름}}

{{전거 통제}}

[[분류:식별자| ]]
[[분류:프로그래밍 언어 개념]]
[[분류:메타데이터]]