식별자 (Identifiers)

식별자는 변수, 메서드, 매개변수 등 프로그램 요소에 이름을 붙이는 문자열을 의미합니다. 의미가 명확한 영단어를 조합해서 작성하면 코드 자체가 주석 역할을 하는 자기 문서화 코드를 구현할 수 있습니다(예: PlayersHandSocialSecurityNum).

쉽게 말해 식별자란 변수, 메서드, 속성 등에 붙이는 이름을 말합니다. 이 이름은 아무렇게나 지을 수 없으며 정해진 규칙을 준수해야 하는데, 사람의 성명에도 명명 규칙이 있는 것과 같은 원리입니다.

명명 문자 규칙

위치허용 문자금지 문자부가 설명
첫 문자소문자 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)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다