검수요청.png검수요청.png

"식별자"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
'''식별자'''(識別子, identifier)란 어떤 대상을 유일하게 구별할 수 있는 이름을 말한다. 대표적인 식별자에는 회원 [[아이디]](ID), [[키 (데이터베이스)|데이터베이스 키]](Key), [[URI]], [[URL]], [[URN]], [[아이피]](IP), [[ISBN]], [[UCI]] 등이 있다.
 
'''식별자'''(識別子, identifier)란 어떤 대상을 유일하게 구별할 수 있는 이름을 말한다. 대표적인 식별자에는 회원 [[아이디]](ID), [[키 (데이터베이스)|데이터베이스 키]](Key), [[URI]], [[URL]], [[URN]], [[아이피]](IP), [[ISBN]], [[UCI]] 등이 있다.
 +
 +
{{:인터넷 배너|웹}}
 +
 +
== 상세 ==
 +
식별자는 [[프로그래밍 언어]]에서 [[변수]], [[함수]], [[클래스]], [[모듈]] 등 다양한 프로그래밍 요소를 구분하고 참조하기 위해 사용하는 이름을 의미한다. 식별자는 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 하며, 각 프로그래밍 요소를 명확하게 정의하고 사용할 수 있도록 한다.<ref>teo.yu, 〈[https://velog.io/@teo/cleancode 게슈탈트 법칙으로 이해하는 클린코드: 가독성의 비밀]〉, 《벨로그》, 2024-07-11</ref> 식별자는 프로그래밍 언어마다 규칙과 특성이 다를 수 있으며, 올바른 식별자 사용은 [[코드]] 품질에 중요한 영향을 미친다.<ref>〈[https://fastercapital.com/ko/content/%EC%BD%94%EB%93%9C-%ED%92%88%EC%A7%88--%EB%86%92%EC%9D%80-%EC%BD%94%EB%93%9C-%ED%92%88%EC%A7%88-%EC%9C%A0%EC%A7%80%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%BD%94%EB%93%9C-%EA%B2%80%ED%86%A0%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1.html 코드 품질: 높은 코드 품질 유지를 위한 코드 검토의 중요성]〉, 《FasterCapital》, 2024-03-26</ref>
 +
 +
식별자는 정보를 다루는 모든 체계에서 내부적으로 사용되는데, 정보를 처리하기 위해서는 그 정보를 가리킬 방법이 있어야 하기 때문이다. 약어 [[ID]]는 식별(identity), 식별 과정(identification), 식별자를 의미하기도 한다. 식별자는 단어, 숫자, 문자, 기호, 또 이들의 어떠한 결합도 될 수 있다. 대표적인 식별자로 [[URL]], [[ISBN]], [[IP]] [[주소]], [[데이터베이스 키]] 등이 있다. 데이터베이스에서는 테이블에서 특정한 튜플을 식별내기 위해 컬럼 중 하나(또는 그 이상)을 식별자로 지정한다.<ref>〈[https://ko.wikipedia.org/wiki/%EC%8B%9D%EB%B3%84%EC%9E%90 식별자]〉, 《위키백과》</ref>
 +
 +
== 특징 ==
 +
* '''고유성''' : 식별자는 동일한 범위(scope) 내에서 고유해야 한다. 같은 범위 내에서는 동일한 이름을 가진 두 개의 변수나 함수가 존재할 수 없다. 예를 들어, 함수 내부에서 선언된 변수는 같은 함수 내에서 다른 변수와 이름이 겹쳐서는 안 된다.<ref>메가구글, 〈[https://siloam72761.tistory.com/entry/DB-%EC%8B%9D%EB%B3%84%EC%9E%90%EC%9D%98-%EA%B0%9C%EB%85%90-%ED%8A%B9%EC%A7%95-%EB%B6%84%EB%A5%98 (DB) 식별자의 개념, 특징, 분류]〉, 《티스토리》, 2022-05-21</ref>
 +
* '''명명 규칙''' : 프로그래밍 언어마다 식별자의 명명 규칙이 다를 수 있다. 그러나 대부분의 언어에서는 다음과 같은 공통적인 규칙을 따른다.
 +
# 알파벳 대소문자(A-Z, a-z), 숫자(0-9), 밑줄(_)을 사용할 수 있다.
 +
# 숫자로 시작할 수 없다.
 +
# 공백이나 특수 문자는 사용할 수 없다(언더스코어(_)는 예외).
 +
* '''대소문자 구분''' : 많은 프로그래밍 언어에서는 식별자의 대소문자를 구분한다. 예를 들어, ''''Variable''''과 ''''variable''''은 서로 다른 식별자로 인식된다.<ref>〈[https://wikidocs.net/215508 4-1-7. 식별자에 대해 설명해 줘]〉, 《위키독스》</ref>
 +
 +
===좋은 식별자===
 +
* '''의미 있는 이름''' : 식별자는 해당 변수나 함수의 용도나 의미를 명확히 나타내는 이름이어야 한다. 예를 들어, ''''int age''''는 나이를 나타내는 변수임을 쉽게 알 수 있다.
 +
* '''일관성''' : 코드 전체에서 일관된 명명 규칙을 사용하는 것이 좋다. 예를 들어, 카멜 표기법(camelCase)이나 스네이크 표기법(snake_case) 중 하나를 선택하여 일관되게 사용하는 것이 좋다.
 +
* '''가독성''' : 식별자는 가독성을 높이기 위해 적절한 길이와 명확한 구조를 가져야 한다. 너무 짧거나 너무 긴 이름은 피하는 것이 좋다.<ref>건둔덕, 〈[https://velog.io/@tnstjd120/%EC%8B%9D%EB%B3%84%EC%9E%90-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EA%B7%9C%EC%B9%99 식별자 네이밍 규칙]〉, 《벨로그》, 2022-06-19</ref>
 +
 +
== 용도 ==
 +
* '''변수 식별자''' : 변수는 데이터를 저장하는 공간으로, 변수 식별자는 이러한 저장 공간에 접근하기 위해 사용된다. 예를 들어, ''''int age = 25;''''에서 ''''age''''는 변수 식별자다.
 +
* '''함수 식별자''' : 함수는 특정 작업을 수행하는 코드 블록이며, 함수 식별자는 함수를 호출할 때 사용된다. 예를 들어, ''''void printMessage() { ... }''''에서 ''''printMessage''''는 함수 식별자다.
 +
* '''클래스 식별자''' : 클래스는 객체 지향 프로그래밍에서 사용되는 데이터 구조로, 클래스 식별자는 클래스를 정의하고 인스턴스화할 때 사용된다. 예를 들어, ''''class Person { ... }''''에서 ''''Person''''은 클래스 식별자다.
 +
* '''모듈 및 네임스페이스 식별자''' : 모듈은 코드의 재사용성과 관리성을 높이기 위해 사용되는 코드 단위다. 모듈 식별자는 모듈을 임포트(import)하거나 참조할 때 사용된다. 예를 들어, ''''import math''''에서 ''''math''''는 모듈 식별자다.<ref>안국이, 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=27785662&memberNo=21815&navigationType=push 파이썬 네임스페이스: 함수, 클래스 그리고 모듈]〉, 《네이버 포스트》, 2020-03-20</ref>
 +
 +
== 규칙 ==
 +
:{|class=wikitable width=800
 +
|+프로그래밍 언어별 식별자 규칙
 +
!align=center|프로그래밍 언어
 +
!align=center|식별자 규칙
 +
|-
 +
|align=center|[[C]]/[[C++]]
 +
|align=light|
 +
* 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_)로 구성될 수 있다.
 +
* 첫 글자는 반드시 알파벳이나 밑줄이어야 한다.
 +
* 대소문자를 구분한다.
 +
|-
 +
|align=center|[[자바]]<br>(Java)
 +
|align=light|
 +
* 변수, 메서드, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_) 및 달러 기호($)로 구성될 수 있다.
 +
* 첫 글자는 반드시 알파벳, 밑줄, 또는 달러 기호여야 한다.
 +
* 대소문자를 구분한다.
 +
* 클래스 이름은 관례적으로 대문자로 시작하고, 변수 및 메서드 이름은 소문자로 시작한다.
 +
|-
 +
|align=center|[[파이썬]]<br>(Python)
 +
|align=light|
 +
* 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_)로 구성될 수 있다.
 +
* 첫 글자는 반드시 알파벳이나 밑줄이어야 한다.
 +
* 대소문자를 구분한다.
 +
* 클래스 이름은 관례적으로 대문자로 시작하고, 변수 및 함수 이름은 소문자로 시작한다.
 +
|-
 +
|align=center|[[자바스크립트]]<br>(JavaScript)
 +
|align=light|
 +
* 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_), 달러 기호($)로 구성될 수 있다.
 +
* 첫 글자는 반드시 알파벳, 밑줄, 또는 달러 기호여야 한다.
 +
* 대소문자를 구분한다.
 +
|}
 +
 +
{{각주}}
 +
 +
== 참고자료 ==
 +
* 〈[https://ko.wikipedia.org/wiki/%EC%8B%9D%EB%B3%84%EC%9E%90 식별자]〉, 《위키백과》
 +
* 〈[https://wikidocs.net/215508 4-1-7. 식별자에 대해 설명해 줘]〉, 《위키독스》
 +
* 안국이, 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=27785662&memberNo=21815&navigationType=push 파이썬 네임스페이스: 함수, 클래스 그리고 모듈]〉, 《네이버 포스트》, 2020-03-20
 +
* 메가구글, 〈[https://siloam72761.tistory.com/entry/DB-%EC%8B%9D%EB%B3%84%EC%9E%90%EC%9D%98-%EA%B0%9C%EB%85%90-%ED%8A%B9%EC%A7%95-%EB%B6%84%EB%A5%98 (DB) 식별자의 개념, 특징, 분류]〉, 《티스토리》, 2022-05-21
 +
* 건둔덕, 〈[https://velog.io/@tnstjd120/%EC%8B%9D%EB%B3%84%EC%9E%90-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EA%B7%9C%EC%B9%99 식별자 네이밍 규칙]〉, 《벨로그》, 2022-06-19
 +
* teo.yu, 〈[https://velog.io/@teo/cleancode 게슈탈트 법칙으로 이해하는 클린코드: 가독성의 비밀]〉, 《벨로그》, 2024-07-11
 +
* 〈[https://fastercapital.com/ko/content/%EC%BD%94%EB%93%9C-%ED%92%88%EC%A7%88--%EB%86%92%EC%9D%80-%EC%BD%94%EB%93%9C-%ED%92%88%EC%A7%88-%EC%9C%A0%EC%A7%80%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%BD%94%EB%93%9C-%EA%B2%80%ED%86%A0%EC%9D%98-%EC%A4%91%EC%9A%94%EC%84%B1.html 코드 품질: 높은 코드 품질 유지를 위한 코드 검토의 중요성]〉, 《FasterCapital》, 2024-03-26
  
 
== 같이 보기 ==
 
== 같이 보기 ==
11번째 줄: 81번째 줄:
 
* [[UCI]]
 
* [[UCI]]
  
{{인터넷|토막글}}
+
{{인터넷|검토 필요}}

2024년 7월 18일 (목) 16:38 기준 최신판

식별자(識別子, identifier)란 어떤 대상을 유일하게 구별할 수 있는 이름을 말한다. 대표적인 식별자에는 회원 아이디(ID), 데이터베이스 키(Key), URI, URL, URN, 아이피(IP), ISBN, UCI 등이 있다.

아사달 스마트 호스팅 가로 배너 (since 1998).jpg
이 그림에 대한 정보
[아사달] 스마트 호스팅

상세[편집]

식별자는 프로그래밍 언어에서 변수, 함수, 클래스, 모듈 등 다양한 프로그래밍 요소를 구분하고 참조하기 위해 사용하는 이름을 의미한다. 식별자는 코드의 가독성과 유지보수성을 높이는 데 중요한 역할을 하며, 각 프로그래밍 요소를 명확하게 정의하고 사용할 수 있도록 한다.[1] 식별자는 프로그래밍 언어마다 규칙과 특성이 다를 수 있으며, 올바른 식별자 사용은 코드 품질에 중요한 영향을 미친다.[2]

식별자는 정보를 다루는 모든 체계에서 내부적으로 사용되는데, 정보를 처리하기 위해서는 그 정보를 가리킬 방법이 있어야 하기 때문이다. 약어 ID는 식별(identity), 식별 과정(identification), 식별자를 의미하기도 한다. 식별자는 단어, 숫자, 문자, 기호, 또 이들의 어떠한 결합도 될 수 있다. 대표적인 식별자로 URL, ISBN, IP 주소, 데이터베이스 키 등이 있다. 데이터베이스에서는 테이블에서 특정한 튜플을 식별내기 위해 컬럼 중 하나(또는 그 이상)을 식별자로 지정한다.[3]

특징[편집]

  • 고유성 : 식별자는 동일한 범위(scope) 내에서 고유해야 한다. 같은 범위 내에서는 동일한 이름을 가진 두 개의 변수나 함수가 존재할 수 없다. 예를 들어, 함수 내부에서 선언된 변수는 같은 함수 내에서 다른 변수와 이름이 겹쳐서는 안 된다.[4]
  • 명명 규칙 : 프로그래밍 언어마다 식별자의 명명 규칙이 다를 수 있다. 그러나 대부분의 언어에서는 다음과 같은 공통적인 규칙을 따른다.
  1. 알파벳 대소문자(A-Z, a-z), 숫자(0-9), 밑줄(_)을 사용할 수 있다.
  2. 숫자로 시작할 수 없다.
  3. 공백이나 특수 문자는 사용할 수 없다(언더스코어(_)는 예외).
  • 대소문자 구분 : 많은 프로그래밍 언어에서는 식별자의 대소문자를 구분한다. 예를 들어, '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)
  • 변수, 함수, 클래스 등의 식별자는 알파벳, 숫자, 밑줄(_), 달러 기호($)로 구성될 수 있다.
  • 첫 글자는 반드시 알파벳, 밑줄, 또는 달러 기호여야 한다.
  • 대소문자를 구분한다.

각주[편집]

  1. teo.yu, 〈게슈탈트 법칙으로 이해하는 클린코드: 가독성의 비밀〉, 《벨로그》, 2024-07-11
  2. 코드 품질: 높은 코드 품질 유지를 위한 코드 검토의 중요성〉, 《FasterCapital》, 2024-03-26
  3. 식별자〉, 《위키백과》
  4. 메가구글, 〈(DB) 식별자의 개념, 특징, 분류〉, 《티스토리》, 2022-05-21
  5. 4-1-7. 식별자에 대해 설명해 줘〉, 《위키독스》
  6. 건둔덕, 〈식별자 네이밍 규칙〉, 《벨로그》, 2022-06-19
  7. 안국이, 〈파이썬 네임스페이스: 함수, 클래스 그리고 모듈〉, 《네이버 포스트》, 2020-03-20

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 식별자 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.