식별자는 변수, 메서드, 매개변수 등 프로그램 요소에 이름을 붙이는 문자열을 의미합니다. 의미가 명확한 영단어를 조합해서 작성하면 코드 자체가 주석 역할을 하는 자기 문서화 코드를 구현할 수 있습니다(예: PlayersHand、SocialSecurityNum).
쉽게 말해 식별자란 변수, 메서드, 속성 등에 붙이는 이름을 말합니다. 이 이름은 아무렇게나 지을 수 없으며 정해진 규칙을 준수해야 하는데, 사람의 성명에도 명명 규칙이 있는 것과 같은 원리입니다.
명명 문자 규칙
| 위치 | 허용 문자 | 금지 문자 | 부가 설명 |
|---|---|---|---|
| 첫 문자 | 소문자 a-z, 대문자 A-Z, 밑줄_, @ | 숫자 0-9 | @는 오직 첫 자리에만 쓸 수 있으며 일반 개발 환경에서는 사용하지 않는 것을 권장 |
| 후속 문자 | 소문자 a-z, 대문자 A-Z, 밑줄_, 숫자 0-9 | @ | 문자열 중간이나 끝에 @를 넣을 수 없음 |

유효한 식별자 예시
userName
PlayerScore
_totalMoney
Age
StudentID
maxHP
OrderList
isLogin
_apple
_123Rate
_UserInfo
@int
@class
@string
@whileCode language: JavaScript (javascript)
무효한 식별자 예시
첫 글자가 숫자인 경우
99Game
123Name
중간/끝에 @ 기호가 포함된 경우
0user
user@Name
score@
my@var
아래는 C# 일반 예약어를 그대로 사용한 사례
int
class
static
void
불법 특수 기호가 포함된 경우
user name
student#id
money&numCode language: PHP (php)
대소문자 구분
식별자는 영문 대소문자를 구분합니다. 예시는 다음과 같습니다:
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
이 세 가지는서로 완전히 다른변수로 인식되며 문법상 오류는 없지만 혼동하기 쉬우므로 이런 코드를 작성하지 않는 것이 좋습니다.
코드 예제
// See https://aka.ms/new-console-template for more information
using System;
Console.WriteLine("Hello, World!");
int totalMovieCount;
int TotalMovieCount;
int TotalmovieCount;
// ========== 1. 유효하지 않은 식별자 (컴파일 오류 발생) ==========
// 1. 첫 문자가 숫자
int 99Game;
string 123Name;
double 0user;
// 2. 문자열 중간 혹은 끝에 @ 기호 포함
int user@Name;
float score@;
bool my@var;
// 3. @ 이스케이프 처리 없이 C# 예약어 직접 사용
int int;
string class;
double static;
void void;
// 4. 공백, #, & 등 허용되지 않는 특수 기호 포함
int user name;
string student#id;
decimal money#
// ========== 2. 유효한 식별자 (정상 컴파일) ==========
// 표준 권장 명명 방식 (@ 미사용, 규칙적이고 읽기 쉬움)
int userName;
int PlayerScore;
float _totalMoney;
bool isLogin;
string StudentID;
// 문법상 유효하지만 권장하지 않음 (@로 예약어 이스케이프, 특수 상황에서만 활용)
int @int;
string @class;
double @static;
void @void;
Code language: HTML, XML (xml)

Previous: Visual Studio 2022 새 프로젝트 생성 절차
Next: 키워드