토큰(Token)은 프로그램을 구성하는 가장 작은 단위 요소입니다. C# 컴파일러는 소스 코드를 읽을 때 이 토큰 단위로 코드를 분석하며, 대표적인 토큰으로는 키워드(Keyword)와 식별자(Identifier)가 있습니다. 지금부터 각각의 개념과 규칙을 자세히 살펴보겠습니다.
C# 키워드(Keywords)란?
키워드는 C# 컴파일러를 위해 미리 예약되어 있는 예약어(reserved words)입니다. 따라서 개발자가 임의로 변수명이나 클래스명 등의 식별자로 사용할 수 없습니다.
다만, 꼭 키워드를 식별자처럼 사용해야 하는 상황이라면 키워드 앞에 @ 문자를 붙이는 방법으로 우회할 수 있습니다. 예를 들어 @class, @if처럼 작성하면 컴파일러가 일반 식별자로 인식합니다.
C#의 주요 예약 키워드 목록
| abstract | as | base | bool | break | byte | case |
| catch | char | checked | class | const | continue | decimal |
| default | delegate | do | double | else | enum | event |
| explicit | extern | false | finally | fixed | float | for |
| foreach | goto | if | implicit | in | in (제네릭 한정자) | int |
| interface | internal | is | lock | long | namespace | new |
| null | object | operator | out | out (제네릭 한정자) | override | params |
C# 식별자(Identifiers)란?
식별자는 클래스, 변수, 함수(메서드) 등 개발자가 직접 정의하는 항목에 붙이는 고유한 이름입니다. 즉, 코드 내에서 특정 대상을 구분하고 참조하기 위한 이름이라고 할 수 있습니다.
C# 식별자 명명 규칙
C#에서 식별자를 만들 때는 다음과 같은 기본 규칙을 반드시 지켜야 합니다.
이름은 반드시 문자(letter)로 시작해야 하며, 그 뒤에는 문자, 숫자(0~9), 밑줄(_)을 조합할 수 있습니다. 단, 첫 글자로 숫자를 사용할 수 없습니다.
이름 안에 공백이나
? - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / \같은 특수 기호를 포함할 수 없습니다. 유일한 예외로 밑줄(_)은 사용이 허용됩니다.
올바른 식별자와 잘못된 식별자 예시
올바른 예:
userName,_count,value1,CalculateTotal잘못된 예:
1user(숫자로 시작),my name(공백 포함),total-sum(하이픈 사용)
또한 C#은 대소문자를 구분(case-sensitive)하기 때문에 Name과 name은 서로 다른 식별자로 처리된다는 점도 함께 기억해 두면 좋습니다.