Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- #csharp #조건연산자 #삼항연산자 #논리연산자 #단락평가 #ifelse축약 #조건문 #프로그래밍기초 #csharp세미나
- #csharp #산술오버플로우 #checked #unchecked #overflowexception #정수연산 #오버플로우처리 #csharp세미나 #디버깅 #성능최적화
- 빗썸api
- #csharp #double #decimal #실수형 #정밀도 #부동소수점 #고정소수점 #금융계산 #과학계산 #csharp세미나 #닷넷기초
- #csharp #문자열 #문자 #string #char #문자열보간 #문자열연결 #문자열비교 #형식지정자 #문자변환 #csharp세미나
- #csharp #bool #boolean #논리연산자 #부울연산자 #단락평가 #조건문 #csharp기초 #삼항연산자 #csharp세미나
- 테더
- #csharp #var키워드 #타입추론 #암묵적형식지정 #익명형식 #linq #지역변수 #csharp세미나
- #csharp #산술연산자 #arithmeticoperators #기초프로그래밍 #csharp기초 #연산자우선순위 #정수연산 #실수연산 #math클래스 #나눗셈예외 #csharp세미나 #닷넷개발 #프로그래밍입문
- #csharp #표현식 #배정표현식 #void표현식 #연산자 #산술연산자 #조건연산자 #표현식기초 #csharp세미나
- #csharp #관계연산자 #상등연산자 #equals #비교연산 #null비교 #float비교 #csharp기초 #csharp세미나 #문자열비교
- 자동매매
- USDT
- 파이썬
- #csharp #배열 #다차원배열 #가변배열 #배열초기화 #indexrange #span #배열비교 #csharp기초 #배열세미나
- #csharp #부동소수점 #nan #infinity #특수값 #ieee754 #수치계산 #double #float #decimal #csharp세미나
- #csharp #매개변수 #ref #out #params #명명된인수 #선택적매개변수 #메서드전달 #csharp세미나
- c#string
- c#
- 무노동수입
- #csharp #기본값 #definiteassignment #default키워드 #초기화규칙 #구조체초기화 #null값 #csharp세미나
- c#bool
- #csharp #수치형식 #numerictypes #리터럴 #형식추론 #접미사 #decimal #float #double #프로그래미링기조 #그래피포뷰
- #csharp #연산자우선순위 #결합성 #operatorprecedence #연산자결합 #오른쪽결합 #왼쪽결합 #csharp세미나
- 빛썸
- #csharp #부동소수점 #반올림오차 #실수계산 #float #double #decimal #mathround #정확도비교 #csharp세미나
- #csharp #널연산자 #nulloperator #널조건부연산자 #널접합연산자 #nullcheck #csharp세미나 #nullsafe #코드안정성
- #csharp #비트연산자 #bitwiseoperators #flagsenum #masking #시프트연산 #비트연산 #성능최적화 #csharp세미나 #하드웨어제어
- #csharp #수치변환 #형식변환 #자동변환 #명시변환 #convert #parse #tryparse #csharp세미나
- #csharp #스택과힙 #메모리구조 #값형식 #참조형식 #박싱 #가비지컬렉션 #힙메모리 #메서드스택 #csharp세미나
Archives
- Today
- Total
맛있는 개발노트 (맛과 개발을 함께)
C# 세미나 자료: 식별자와 키워드 본문
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: 기술적으로 가능하지만, 팀 내 컨벤션에 따라 가독성을 우선시하세요.
감사합니다!
'C# 학습 > C# 언어의 기초' 카테고리의 다른 글
C# 세미나 자료: 값 형식과 참조 형식 (0) | 2025.04.07 |
---|---|
C# 세미나 자료: 생성자와 인스턴스화 (0) | 2025.04.07 |
C# 세미나 자료: 형식의 기초 (Basics of Types) (0) | 2025.04.07 |
C# 세미나 자료: 주석 (Comments) (0) | 2025.04.07 |
C# 세미나 자료: 리터럴, 구두점, 연산자 (0) | 2025.04.07 |