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
- c#bool
- 파이썬
- #csharp #연산자우선순위 #결합성 #operatorprecedence #연산자결합 #오른쪽결합 #왼쪽결합 #csharp세미나
- c#string
- #csharp #double #decimal #실수형 #정밀도 #부동소수점 #고정소수점 #금융계산 #과학계산 #csharp세미나 #닷넷기초
- #csharp #비트연산자 #bitwiseoperators #flagsenum #masking #시프트연산 #비트연산 #성능최적화 #csharp세미나 #하드웨어제어
- 빛썸
- #csharp #부동소수점 #nan #infinity #특수값 #ieee754 #수치계산 #double #float #decimal #csharp세미나
- #csharp #배열 #다차원배열 #가변배열 #배열초기화 #indexrange #span #배열비교 #csharp기초 #배열세미나
- #csharp #기본값 #definiteassignment #default키워드 #초기화규칙 #구조체초기화 #null값 #csharp세미나
- #csharp #표현식 #배정표현식 #void표현식 #연산자 #산술연산자 #조건연산자 #표현식기초 #csharp세미나
- #csharp #수치형식 #numerictypes #리터럴 #형식추론 #접미사 #decimal #float #double #프로그래미링기조 #그래피포뷰
- USDT
- #csharp #부동소수점 #반올림오차 #실수계산 #float #double #decimal #mathround #정확도비교 #csharp세미나
- #csharp #수치변환 #형식변환 #자동변환 #명시변환 #convert #parse #tryparse #csharp세미나
- #csharp #문자열 #문자 #string #char #문자열보간 #문자열연결 #문자열비교 #형식지정자 #문자변환 #csharp세미나
- #csharp #널연산자 #nulloperator #널조건부연산자 #널접합연산자 #nullcheck #csharp세미나 #nullsafe #코드안정성
- 빗썸api
- #csharp #조건연산자 #삼항연산자 #논리연산자 #단락평가 #ifelse축약 #조건문 #프로그래밍기초 #csharp세미나
- #csharp #산술연산자 #arithmeticoperators #기초프로그래밍 #csharp기초 #연산자우선순위 #정수연산 #실수연산 #math클래스 #나눗셈예외 #csharp세미나 #닷넷개발 #프로그래밍입문
- #csharp #산술오버플로우 #checked #unchecked #overflowexception #정수연산 #오버플로우처리 #csharp세미나 #디버깅 #성능최적화
- 무노동수입
- #csharp #관계연산자 #상등연산자 #equals #비교연산 #null비교 #float비교 #csharp기초 #csharp세미나 #문자열비교
- 자동매매
- #csharp #var키워드 #타입추론 #암묵적형식지정 #익명형식 #linq #지역변수 #csharp세미나
- #csharp #스택과힙 #메모리구조 #값형식 #참조형식 #박싱 #가비지컬렉션 #힙메모리 #메서드스택 #csharp세미나
- 테더
- c#
- #csharp #매개변수 #ref #out #params #명명된인수 #선택적매개변수 #메서드전달 #csharp세미나
- #csharp #bool #boolean #논리연산자 #부울연산자 #단락평가 #조건문 #csharp기초 #삼항연산자 #csharp세미나
Archives
- Today
- Total
맛있는 개발노트 (맛과 개발을 함께)
C# 세미나 자료: 표현식과 연산자 (Expressions & Operators) 본문
1. 개요
C#에서 **표현식(Expression)**은 하나의 값을 생성하는 코드 조각이며, **연산자(Operator)**는 표현식 내에서 값과 변수를 조작하는 기호입니다. 모든 문장은 표현식으로 구성되며, 그 중 일부는 계산 값을 반환하고 일부는 동작만 수행합니다.
이 세미나에서는 표현식의 개념과 종류, 다양한 연산자의 구분과 사용법을 설명하고, 특히 기본 표현식, void 표현식, 배정(할당) 표현식을 중심으로 단계별로 설명합니다.
2. 기본 표현식 (Basic Expressions)
2.1 리터럴 표현식
42
"Hello"
true
- 숫자, 문자열, 불리언 등의 고정값 표현
2.2 변수 표현식
int x = 5;
x // 변수 자체도 표현식
2.3 연산 표현식
int sum = 3 + 4; // +는 이항 산술 연산자
2.4 메서드 호출 표현식
Console.ReadLine();
Math.Max(3, 7);
2.5 객체 생성 표현식
new List<int>();
new Person();
- 객체 생성도 표현식이며, 결과로 참조 값 반환
3. void 표현식 (Void Expressions)
- void는 값을 반환하지 않는 메서드를 호출하는 표현식입니다.
- 표현식이지만 사용할 수 있는 값이 없음
void SayHello() => Console.WriteLine("Hello");
SayHello(); // 표현식이지만 결과 값 없음
- void 메서드를 다른 표현식처럼 연산에 사용할 수 없음:
int result = SayHello(); // 오류
4. 배정 표현식 (Assignment Expressions)
- 값을 변수에 할당하는 연산도 표현식으로 간주됨
int a;
a = 10; // 배정 표현식
int b = (a = 20); // 오른쪽 전체가 표현식으로 동작
- 할당은 좌변 = 우변 구조로, 전체 결과는 우변 값 반환
4.1 복합 배정 연산자
x += 5; // x = x + 5
x *= 2; // x = x * 2
- 산술, 비트, 논리 연산자와 함께 사용 가능 (+=, -=, *=, /=, &=, |=, ^=, <<=, >>= 등)
5. 연산자의 종류 요약
분류예시
산술 연산자 | +, -, *, /, % | ||
비교 연산자 | ==, !=, <, >, <=, >= | ||
논리 연산자 | &&, ` | , !` | |
비트 연산자 | &, ` | , ^, ~, <<, >>` | |
배정 연산자 | =, +=, -=, ... | ||
조건 연산자 | ?:, ??, ??= | ||
기타 | is, as, typeof, sizeof, nameof, new, await 등 |
6. 결론
- 표현식은 결과를 생성하는 코드 조각이며, 연산자는 그 표현식을 구성하는 핵심 도구입니다.
- void 표현식은 값을 반환하지 않지만 호출 자체는 표현식으로 간주됩니다.
- 배정 표현식은 변수에 값을 할당하면서 그 값을 반환하므로, 중첩 표현식 구성도 가능합니다.
- 표현식의 구조를 이해하는 것은 람다, LINQ, 조건문 등의 심화 개념으로 가는 기본입니다.
7. Q&A
Q1. void 메서드는 표현식인가요?
A1. 네, void 반환 메서드 호출도 표현식이지만 값은 반환하지 않기 때문에 연산에는 사용할 수 없습니다.
Q2. 복합 할당 연산자도 표현식인가요?
A2. 네, 복합 할당 연산자도 표현식이며 결과 값을 반환합니다.
Q3. 표현식과 문(statement)은 다른가요?
A3. 표현식은 값을 반환하는 코드 조각이고, 문은 명령입니다. 대부분의 문은 표현식을 포함하지만 표현식 그 자체는 아닙니다.
Q4. 표현식 안에 표현식을 넣을 수 있나요?
A4. 네, 대부분의 표현식은 중첩 가능합니다. 예: int a = (x = 5) + 2;
'C# 학습 > C# 언어의 기초' 카테고리의 다른 글
C# 세미나 자료: 널 관련 연산자 (Null Operators) (0) | 2025.04.08 |
---|---|
C# 세미나 자료: 연산자 우선순위와 결합성 (Operator Precedence & Associativity) (0) | 2025.04.08 |
C# 세미나 자료: var 키워드를 이용한 지역 변수의 암묵적 형식 지정 (0) | 2025.04.08 |
C# 세미나 자료: 확정 배정 및 기본 값 (Definite Assignment & Default Values) (0) | 2025.04.08 |
C# 세미나 자료: 스택과 힙 (Stack & Heap) (0) | 2025.04.08 |