Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 예약 키워드(Reserved Keywords)란? 전체 목록과 사용 예제

C#에서 키워드(keyword)는 컴파일러가 미리 정의해 둔 예약어(reserved word)를 의미합니다. 이러한 키워드는 변수명, 메서드명, 클래스명 같은 식별자(identifier)로 사용할 수 없습니다.

만약 부득이하게 키워드를 식별자로 사용해야 하는 상황이라면, 키워드 앞에 @ 문자를 붙이면 됩니다. 예를 들어 @class처럼 작성하면 컴파일러가 이를 일반 식별자로 인식합니다.

또한 C#에는 특정 코드 문맥에서만 특별한 의미를 갖는 문맥 키워드(contextual keyword)도 존재합니다. 대표적인 예로 속성(property)의 접근자에서 사용되는 getset이 있으며, 이들은 해당 문맥에서만 키워드로 동작하기 때문에 다른 곳에서는 일반 식별자로 자유롭게 사용할 수 있습니다.

C# 예약 키워드 전체 목록

아래 표는 C#에서 예약된 키워드들을 사전순으로 정리한 것입니다.

abstractasbaseboolbreakbytecase
catchcharcheckedclassconstcontinuedecimal
defaultdelegatedodoubleelseenumevent
explicitexternfalsefinallyfixedfloatfor
foreachgotoifimplicitinintinterface
internalislocklongnamespacenewnull
objectoperatoroutoverrideparamsprivateprotected
publicreadonlyrefreturnsbytesealedshort
sizeofstackallocstaticstringstructswitchthis
throwtruetrytypeofuintulongunchecked
unsafeushortusingvirtualvoidvolatilewhile

참고로 inout은 제네릭 형식 매개변수에서 공변성(covariance), 반공변성(contravariance) 한정자로도 사용되는 등 문맥에 따라 여러 역할을 수행합니다.

예약 키워드 활용 예제: bool

다음은 예약 키워드 중 하나인 bool을 실제 코드에서 사용하는 예제입니다. bool 배열을 선언하고 값을 할당한 뒤, BitArray로 변환하여 출력하는 코드입니다.

코드

using System;
using System.Collections;

class Demo {
   static void Main() {
      // bool 예약 키워드로 배열 선언
      bool[] arr = new bool[5];
      arr[0] = true;
      arr[1] = true;
      arr[2] = false;
      arr[3] = false;

      BitArray bArr = new BitArray(arr);

      foreach (bool b in bArr) {
         Console.WriteLine(b);
      }

      bool str = arr[1];
      Console.WriteLine("두 번째 요소의 값: " + str);
   }
}

실행 결과

True
True
False
False
False
두 번째 요소의 값: True

위 예제에서 볼 수 있듯이 bool, foreach, static, void 등 다양한 예약 키워드가 하나의 프로그램 안에서 각자의 역할에 맞게 사용됩니다. 이처럼 예약 키워드는 C# 문법의 기본 구조를 구성하는 핵심 요소이므로, 식별자 이름을 지을 때는 반드시 피해야 합니다.