식별자(識別子, identifier)란 어떤 대상을 유일하게 구별할 수 있는 이름을 말한다. 대표적인 식별자에는 회원 아이디(ID), 데이터베이스 키(Key), URI, URL, URN, 아이피(IP), ISBN, UCI 등이 있다.
식별자는 프로그래밍 언어에서 변수, 함수, 클래스, 모듈 등 다양한 프로그래밍 요소를 구분하고 참조하기 위해 사용하는 이름을 의미한다. 식별자는 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 하며, 각 프로그래밍 요소를 명확하게 정의하고 사용할 수 있도록 한다.[1] 식별자는 프로그래밍 언어마다 규칙과 특성이 다를 수 있으며, 올바른 식별자 사용은 코드 품질에 중요한 영향을 미친다.[2]
식별자는 정보를 다루는 모든 체계에서 내부적으로 사용되는데, 정보를 처리하기 위해서는 그 정보를 가리킬 방법이 있어야 하기 때문이다. 약어 ID는 식별(identity), 식별 과정(identification), 식별자를 의미하기도 한다. 식별자는 단어, 숫자, 문자, 기호, 또 이들의 어떠한 결합도 될 수 있다. 대표적인 식별자로 URL, ISBN, IP 주소, 데이터베이스 키 등이 있다. 데이터베이스에서는 테이블에서 특정한 튜플을 식별내기 위해 컬럼 중 하나(또는 그 이상)을 식별자로 지정한다.[3]
- 고유성 : 식별자는 동일한 범위(scope) 내에서 고유해야 한다. 같은 범위 내에서는 동일한 이름을 가진 두 개의 변수나 함수가 존재할 수 없다. 예를 들어, 함수 내부에서 선언된 변수는 같은 함수 내에서 다른 변수와 이름이 겹쳐서는 안 된다.[4]
- 명명 규칙 : 프로그래밍 언어마다 식별자의 명명 규칙이 다를 수 있다. 그러나 대부분의 언어에서는 다음과 같은 공통적인 규칙을 따른다.
- 알파벳 대소문자(A-Z, a-z), 숫자(0-9), 밑줄(_)을 사용할 수 있다.
- 숫자로 시작할 수 없다.
- 공백이나 특수 문자는 사용할 수 없다(언더스코어(_)는 예외).
- 대소문자 구분 : 많은 프로그래밍 언어에서는 식별자의 대소문자를 구분한다. 예를 들어, 'Variable'과 'variable'은 서로 다른 식별자로 인식된다.[5]
좋은 식별자[편집]
- 의미 있는 이름 : 식별자는 해당 변수나 함수의 용도나 의미를 명확히 나타내는 이름이어야 한다. 예를 들어, 'int age'는 나이를 나타내는 변수임을 쉽게 알 수 있다.
- 일관성 : 코드 전체에서 일관된 명명 규칙을 사용하는 것이 좋다. 예를 들어, 카멜 표기법(camelCase)이나 스네이크 표기법(snake_case) 중 하나를 선택하여 일관되게 사용하는 것이 좋다.
- 가독성 : 식별자는 가독성을 높이기 위해 적절한 길이와 명확한 구조를 가져야 한다. 너무 짧거나 너무 긴 이름은 피하는 것이 좋다.[6]
- 변수 식별자 : 변수는 데이터를 저장하는 공간으로, 변수 식별자는 이러한 저장 공간에 접근하기 위해 사용된다. 예를 들어, 'int age = 25;'에서 'age'는 변수 식별자다.
- 함수 식별자 : 함수는 특정 작업을 수행하는 코드 블록이며, 함수 식별자는 함수를 호출할 때 사용된다. 예를 들어, 'void printMessage() { ... }'에서 'printMessage'는 함수 식별자다.
- 클래스 식별자 : 클래스는 객체 지향 프로그래밍에서 사용되는 데이터 구조로, 클래스 식별자는 클래스를 정의하고 인스턴스화할 때 사용된다. 예를 들어, 'class Person { ... }'에서 'Person'은 클래스 식별자다.
- 모듈 및 네임스페이스 식별자 : 모듈은 코드의 재사용성과 관리성을 높이기 위해 사용되는 코드 단위다. 모듈 식별자는 모듈을 임포트(import)하거나 참조할 때 사용된다. 예를 들어, 'import math'에서 'math'는 모듈 식별자다.[7]
프로그래밍 언어별 식별자 규칙
프로그래밍 언어
|
식별자 규칙
|
C/C++
|
- 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_)로 구성될 수 있다.
- 첫 글자는 반드시 알파벳이나 밑줄이어야 한다.
- 대소문자를 구분한다.
|
자바 (Java)
|
- 변수, 메서드, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_) 및 달러 기호($)로 구성될 수 있다.
- 첫 글자는 반드시 알파벳, 밑줄, 또는 달러 기호여야 한다.
- 대소문자를 구분한다.
- 클래스 이름은 관례적으로 대문자로 시작하고, 변수 및 메서드 이름은 소문자로 시작한다.
|
파이썬 (Python)
|
- 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_)로 구성될 수 있다.
- 첫 글자는 반드시 알파벳이나 밑줄이어야 한다.
- 대소문자를 구분한다.
- 클래스 이름은 관례적으로 대문자로 시작하고, 변수 및 함수 이름은 소문자로 시작한다.
|
자바스크립트 (JavaScript)
|
- 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_), 달러 기호($)로 구성될 수 있다.
- 첫 글자는 반드시 알파벳, 밑줄, 또는 달러 기호여야 한다.
- 대소문자를 구분한다.
|
- ↑ teo.yu, 〈게슈탈트 법칙으로 이해하는 클린코드: 가독성의 비밀〉, 《벨로그》, 2024-07-11
- ↑ 〈코드 품질: 높은 코드 품질 유지를 위한 코드 검토의 중요성〉, 《FasterCapital》, 2024-03-26
- ↑ 〈식별자〉, 《위키백과》
- ↑ 메가구글, 〈(DB) 식별자의 개념, 특징, 분류〉, 《티스토리》, 2022-05-21
- ↑ 〈4-1-7. 식별자에 대해 설명해 줘〉, 《위키독스》
- ↑ 건둔덕, 〈식별자 네이밍 규칙〉, 《벨로그》, 2022-06-19
- ↑ 안국이, 〈파이썬 네임스페이스: 함수, 클래스 그리고 모듈〉, 《네이버 포스트》, 2020-03-20
참고자료[편집]
- 〈식별자〉, 《위키백과》
- 〈4-1-7. 식별자에 대해 설명해 줘〉, 《위키독스》
- 안국이, 〈파이썬 네임스페이스: 함수, 클래스 그리고 모듈〉, 《네이버 포스트》, 2020-03-20
- 메가구글, 〈(DB) 식별자의 개념, 특징, 분류〉, 《티스토리》, 2022-05-21
- 건둔덕, 〈식별자 네이밍 규칙〉, 《벨로그》, 2022-06-19
- teo.yu, 〈게슈탈트 법칙으로 이해하는 클린코드: 가독성의 비밀〉, 《벨로그》, 2024-07-11
- 〈코드 품질: 높은 코드 품질 유지를 위한 코드 검토의 중요성〉, 《FasterCapital》, 2024-03-26
같이 보기[편집]
이 식별자 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
개발 : 프로그래밍, 소프트웨어, 데이터, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷 □■⊕, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
인터넷
|
PC통신 • 그누텔라 • 네트워크 • 다크넷 • 다크웹 • 딥웹 • 무선인터넷 • 슈퍼피어 • 스타링크 • 아르파넷 • 아이투피(I2P) • 엑스트라넷 • 오버레이 네트워크 • 오투오(O2O) • 오프라인 • 온라인 • 온오프라인 • 유선인터넷 • 인터넷 • 인트라넷 • 초고속 인터넷 • 토어(토르) • 표면웹 • 프리넷 • 피투피(P2P) • 하이브리드 피투피(P2P) • 홈네트워크
|
|
인터넷 기술
|
ARP • DNS • FTP • G-클라우드 • HTTP • HTTPS • IPFS • IPv4 • IPv6 • IRC • IRI • ISBN • LDAP • MOIP • OpenSSL • OSI 7 계층 • RFC • RFID • SFTP • SOAP • SSH • SSL • SSO • TCP • TCP/IP • TLS • UCI • UDP • URI • URL • URN • VoIP • 강화 내부 게이트웨이 라우팅 프로토콜 • 검색 • 검색엔진 • 게이트웨이 • 경계 경로 프로토콜 • 내부 게이트웨이 라우팅 프로토콜 • 다운로드 • 데몬 • 라우팅 정보 프로토콜 • 백엔드 • 사물인터넷 • 서버 • 서버-클라이언트 • 서브넷마스크 • 세션 • 스트리밍 • 식별자 • 아이피(IP) • 업로드 • 에듀테크 • 온프레미스 • 원격 프로시저 호출(RPC) • 유비쿼터스 • 인터넷 기술 • 자율시스템 • 정보기술 • 정보통신 • 채팅 • 챗봇 • 최단경로 우선 프로토콜(OSPF) • 쿠키 • 크롤링 • 클라이언트 • 키워드 • 텔넷 • 토폴로지 • 트래픽 • 패킷 • 포털 • 포트 • 프런트엔드 • 프로토콜 • 프록시 • 해시태그
|
|
이메일
|
IMAP • POP3 • SMTP • 계정메일 • 네이버 메일 • 다음 메일 • 센드메일 • 스팸 • 스팸메일 • 스팸필터링 • 아웃룩 익스프레스 • 야후 메일 • 웹메일 • 이메일 • 지메일 • 카카오 메일 • 한메일 • 핫메일
|
|
웹
|
KWCAG • WCAG • 서핑 • 시맨틱 웹 • 오프라인 웹 • 웹 • 웹 1.0 • 웹 2.0 • 웹 3.0 • 웹개방성 • 웹서비스 • 웹접근성 • 웹접근성 인증마크 • 웹주소 • 웹표준 • 웹호환성 • 피드
|
|
웹사이트
|
BBS • GNB • LNB • UI/UX • 게시판 • 관리자 사이트 • 그래픽 사용자 인터페이스(GUI) • 누리집 • 대시보드 • 드롭다운 메뉴 • 랜딩 템플릿 • 랜딩 페이지 • 리더보드 • 마이홈피 • 메뉴 • 모달창 • 미니홈피 • 방명록 • 배너 • 사용자 경험(UX) • 사용자 인터페이스(UI) • 섹션 • 왼쪽메뉴 • 웹기획 • 웹사이트 • 웹페이지 • 인터페이스 • 쪽지 • 커뮤니티 • 탑메뉴 • 탭메뉴 • 템플릿 • 팝업 • 페이지 • 페이지뷰 • 햄버거 메뉴 • 호버 • 홈페이지 • 화면
|
|
웹브라우저
|
넷스케이프 • 모자이크 • 브라우저 • 브레이브 브라우저 • 블록체인 브라우저 • 사파리 • 삼성인터넷 • 스윙 • 엣지 • 오시리스 • 오페라 • 웨일 • 웹브라우저 • 인터넷 익스플로러(IE) • 크롬 • 파이어폭스 • 판도브라우저
|
|
인터넷 서비스
|
구글 • 구글 미트 • 구글챗 • 구글 행아웃 • 깃허브 • 네아로 • 네이버 • 네이버 웹툰 • 네이버 카페 • 넷플릭스 • 다음 • 라이코스 • 레진코믹스 • 메일루 • 멜론 • 바이두 • 바이트댄스 • 비트토렌트 • 빌리빌리 • 빙 • 소리바다 • 스포티파이 • 아마존 웹서비스(AWS) • 애플 • 야후 • 야후재팬 • 얀덱스 • 에버노트 • 에어비앤비 • 왓챠 • 웹소설 • 웹툰 • 유튜브 • 인스타툰 • 인터넷 서비스 • 인터넷카페 • 잼라이브 • 줌 • 카카오 • 카카오 웹툰 • 카카오페이지 • 탑툰 • 텐센트 • 팟캐스트 • 패스 • 페이오니아 • 페이팔 • 해시넷 • 화상통화 • 화상회의
|
|
인터넷쇼핑
|
11번가 • 그립 • 네이버 쇼핑 • 네이버 쇼핑 라이브 • 라이브방송 • 라이브커머스 • 모바일쇼핑 • 스쉐라이브 • 스타일쉐어 • 아마존 • 알리바바 • 오픈마켓 • 옥션 • 온라인쇼핑 • 위메프 • 이베이 • 인터넷쇼핑 • 인터파크 • 전자상거래 • 지마켓 • 징동닷컴 • 카카오 쇼핑 • 카카오 쇼핑 라이브 • 커머스 • 쿠팡 • 쿠팡 라이브 • 타오바오 • 티몬
|
|
소셜 네트워크
|
SNS(소셜 네트워크 서비스) • 구글 블로거 • 네이버 밴드 • 네이버 블로그 • 디시인사이드 • 링크드인 • 마이크로블로그 • 맞팔 • 브런치스토리 • 블로그 • 소셜 네트워크 • 엑스 (트위터) • 웨이보 • 인스타그램 • 트루스소셜 • 티스토리 • 팔로우 • 페이스북 • 플리커 • 핀터레스트
|
|
메신저
|
골프메신저 • 님버즈 • 대화방 • 두레이 • 디스코드 • 딩톡 • 라인 • 라인웍스 • 마이크로소프트 팀즈 • 메신저 • 버디버디 • 스냅챗 • 스노우 • 스카이프 • 슬랙 • 아이씨큐(ICQ) • 왓츠앱 • 웹메신저 • 위챗 • 잔디 • 직톡 • 카카오워크 • 카카오톡 • 카톡방 • 큐큐(QQ) • 탱고 • 텔레그램 • 틱톡 • 페이스북 메신저 • 플로우
|
|
도메인
|
네임서버 • 다국어도메인 • 도메인 • 레지스트라 • 레지스트리 • 아이피 • 인터넷주소 • 인터넷키워드 • 한글인터넷주소 • 후이즈
|
|
호스팅
|
메일호스팅 • 서버호스팅 • 웹호스팅 • 코로케이션 • 클라우드 • 클라우드 네이티브 • 파킹 • 포워딩 • 호스팅
|
|
위키
|
구스위키 • 나무위키 • 노스모크 • 더위키 • 디시위키 • 리그베다위키(엔하위키) • 리브레위키 • 미디어위키 • 바다위키 • 백괴사전 • 아이티위키 • 알파위키 • 엔하계 위키 • 요다위키 • 우만위키 • 위키 • 위키낱말사전 • 위키독스 • 위키문법 • 위키문서 • 위키문헌 • 위키미디어재단 • 위키백과 • 위키스 • 위키엔진 • 위키원 • 위키원드 • 위키트리 • 위키휴가 • 제이위키 • 제타위키 • 중국위키 • 팬덤(위키아) • 한국어 위키백과 • 한국위키미디어협회 • 항공위키
|
|
인터넷 사용자
|
가입 • 가입자 • 강퇴 • 계정 • 관리자 • 네트워크 관리자 • 네티즌 • 누리꾼 • 대기자 • 데이터베이스 관리자 • 등록자 • 디지털 원패스 • 로그아웃 • 로그인 • 방문자 • 방장 • 블로거 • 블록체인 관리자 • 비회원 • 사용자 • 사이트 관리자 • 서버관리자 • 시삽 • 시스템 관리자 • 아이디(ID) • 운영진 • 웹관리자 • 웹마스터 • 유튜버 • 접속자 • 차단 • 최고관리자 • 탈퇴 • 탈퇴자 • 회원 • 회원제 • 휴면 • 휴면계정
|
|
인터넷 단체
|
IANA • ICANN • W3C • 다르파 • 유럽입자물리연구소(CERN)
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|