Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

맛있는 개발노트 (맛과 개발을 함께)

C# 세미나 자료: 식별자와 키워드 본문

C# 학습/C# 언어의 기초

C# 세미나 자료: 식별자와 키워드

DevGourmet 2025. 4. 7. 09:08

1. 개요

C# 프로그래밍에서 "식별자"와 "키워드"는 코드의 기본을 구성하는 핵심 요소입니다. 본 세미나에서는 이 두 개념의 정의, 규칙, 주의사항 등을 초급부터 고급까지 단계별로 설명합니다.


2. 기본 이론

2.1 식별자 (Identifier)

  • 정의: 변수, 클래스, 메서드, 객체 등을 구분하기 위해 사용하는 이름
  • 규칙:
    • 문자나 밑줄(_)로 시작해야 함
    • 숫자로 시작할 수 없음
    • 공백 및 특수문자는 사용할 수 없음 (단, 밑줄은 허용)
    • C# 키워드를 그대로 사용할 수 없음 (단, @ 접두어 사용 시 가능)

2.2 키워드 (Keyword)

  • 정의: C# 언어에서 특별한 의미를 가지는 예약어로, 이미 컴파일러에 의해 정의된 단어
  • 예시: int, class, public, if, return, namespace, using
  • 종류:
    • 예약 키워드: C# 문법에 반드시 필요한 키워드
    • 컨텍스트 키워드: 특정 상황에서만 키워드로 동작하는 단어 (where, partial, yield 등)

3. 단계별 설명

3.1 초급

이론 요약

  • 식별자는 변수, 메서드 등의 이름을 의미
  • 키워드는 이미 C#이 사용하는 특별한 단어이며 변수명으로 사용 불가

예시 코드

int age = 30;           // age는 식별자, int는 키워드
string name = "홍길동";  // name은 식별자, string은 키워드

 

주의사항

  • int, class 같은 키워드는 변수명으로 사용 불가능
  • 필요 시 @를 사용하여 키워드도 식별자로 사용할 수 있음
int @class = 10;   // 허용되지만 권장하지 않음

3.2 중급

이론 심화

  • 명명 규칙(Naming Conventions): 가독성과 유지보수를 고려한 명명 방식
  • PascalCase, camelCase, UPPER_CASE 등 컨벤션 소개
  • 유니코드 식별자 지원 (한글 변수명도 가능)

예시 코드

class Car
{
    public string ModelName;      // PascalCase
    private int enginePower;      // camelCase

    public void StartEngine()     // PascalCase
    {
        Console.WriteLine("엔진 가동");
    }
}

string 학생이름 = "철수"; // 유니코드 식별자 (한글)

  • 유니코드 식별자는 가능하지만 지나친 사용은 가독성 저하 우려
  • 식별자는 의미 있게 짓는 것이 중요 (예: cnt보다 customerCount)

3.3 고급

고급 활용 및 사례

  • 리플렉션(Reflection) 사용 시 식별자와 키워드의 구분이 중요
  • 코드 생성기, DSL(Domain-Specific Language) 구현 시 키워드 처리 필요
  • 컨텍스트 키워드의 동적 의미 이해 필요

예시 코드

// 컨텍스트 키워드 예시: where
class Repository<T> where T : IEntity
{
    public void Save(T entity)
    {
        // 저장 로직
    }
}

// 키워드를 프로퍼티명으로 사용할 경우
class MyData
{
    public string @namespace { get; set; } // @를 통해 키워드 사용
}

실무 팁

  • 자동 코드 생성 도구 사용 시 식별자 충돌 방지를 위해 네임스페이스 및 접두어 고려
  • 키워드와 이름이 겹칠 경우 오류 발생 → 항상 확인 필요

4. 결론

  • 식별자와 키워드는 C# 문법의 근간을 이루는 요소
  • 초급에서는 기본 규칙과 금지어 이해
  • 중급에서는 명명 규칙 및 가독성 고려
  • 고급에서는 코드 생성, 리플렉션, DSL 등과의 관계까지 고려

5. Q&A

  • Q: var는 키워드인가요? A: 네, 타입 추론을 위한 예약 키워드입니다.
  • Q: 한글 변수명을 써도 되나요? A: 기술적으로 가능하지만, 팀 내 컨벤션에 따라 가독성을 우선시하세요.

감사합니다!