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 #var키워드 #타입추론 #암묵적형식지정 #익명형식 #linq #지역변수 #csharp세미나
- 무노동수입
- #csharp #조건연산자 #삼항연산자 #논리연산자 #단락평가 #ifelse축약 #조건문 #프로그래밍기초 #csharp세미나
- #csharp #부동소수점 #nan #infinity #특수값 #ieee754 #수치계산 #double #float #decimal #csharp세미나
- #csharp #널연산자 #nulloperator #널조건부연산자 #널접합연산자 #nullcheck #csharp세미나 #nullsafe #코드안정성
- c#bool
- #csharp #스택과힙 #메모리구조 #값형식 #참조형식 #박싱 #가비지컬렉션 #힙메모리 #메서드스택 #csharp세미나
- #csharp #비트연산자 #bitwiseoperators #flagsenum #masking #시프트연산 #비트연산 #성능최적화 #csharp세미나 #하드웨어제어
- #csharp #수치형식 #numerictypes #리터럴 #형식추론 #접미사 #decimal #float #double #프로그래미링기조 #그래피포뷰
- 빛썸
- #csharp #관계연산자 #상등연산자 #equals #비교연산 #null비교 #float비교 #csharp기초 #csharp세미나 #문자열비교
- USDT
- #csharp #부동소수점 #반올림오차 #실수계산 #float #double #decimal #mathround #정확도비교 #csharp세미나
- #csharp #double #decimal #실수형 #정밀도 #부동소수점 #고정소수점 #금융계산 #과학계산 #csharp세미나 #닷넷기초
- #csharp #연산자우선순위 #결합성 #operatorprecedence #연산자결합 #오른쪽결합 #왼쪽결합 #csharp세미나
- 자동매매
- #csharp #수치변환 #형식변환 #자동변환 #명시변환 #convert #parse #tryparse #csharp세미나
- #csharp #문자열 #문자 #string #char #문자열보간 #문자열연결 #문자열비교 #형식지정자 #문자변환 #csharp세미나
- #csharp #산술연산자 #arithmeticoperators #기초프로그래밍 #csharp기초 #연산자우선순위 #정수연산 #실수연산 #math클래스 #나눗셈예외 #csharp세미나 #닷넷개발 #프로그래밍입문
- c#
- #csharp #표현식 #배정표현식 #void표현식 #연산자 #산술연산자 #조건연산자 #표현식기초 #csharp세미나
- #csharp #기본값 #definiteassignment #default키워드 #초기화규칙 #구조체초기화 #null값 #csharp세미나
- #csharp #산술오버플로우 #checked #unchecked #overflowexception #정수연산 #오버플로우처리 #csharp세미나 #디버깅 #성능최적화
- c#string
- #csharp #bool #boolean #논리연산자 #부울연산자 #단락평가 #조건문 #csharp기초 #삼항연산자 #csharp세미나
- #csharp #매개변수 #ref #out #params #명명된인수 #선택적매개변수 #메서드전달 #csharp세미나
- 테더
- 파이썬
- 빗썸api
- #csharp #배열 #다차원배열 #가변배열 #배열초기화 #indexrange #span #배열비교 #csharp기초 #배열세미나
Archives
- Today
- Total
맛있는 개발노트 (맛과 개발을 함께)
C# 세미나 자료: 조건 논리 연산자와 조건 연산자 (삼항 연산자) 본문
1. 개요
C#에서 조건 논리 연산자(&&, ||, !)와 조건 연산자(삼항 연산자 ? :)는 프로그램 흐름을 제어하고, 조건에 따라 실행 경로 또는 값을 다르게 지정하는 데 사용됩니다.
이 세미나에서는 두 연산자의 사용법과 차이점, 실무에서의 활용 사례를 초급부터 고급까지 단계별로 설명합니다.
2. 기본 이론
2.1 조건 논리 연산자
연산자의미설명예시
&& | 논리 AND | 둘 다 true일 때 true | a && b | ||||
` | ` | 논리 OR | 둘 중 하나라도 true면 true | `a | b` | ||
! | 논리 NOT | true → false, false → true | !a |
- 피연산자는 bool 형식이어야 하며 결과도 bool
- 단락 평가(short-circuit evaluation) 적용됨
2.2 조건 연산자 (삼항 연산자 ? :)
- 문법: 조건식 ? 참일 때 값 : 거짓일 때 값
- if-else의 축약형으로 표현 가능
int score = 85;
string result = score >= 80 ? "합격" : "불합격";
Console.WriteLine(result); // "합격"
3. 단계별 설명
3.1 초급: 조건 논리 연산자 기초 사용
bool isAdult = age >= 18;
bool hasId = true;
if (isAdult && hasId)
{
Console.WriteLine("입장 가능");
}
- 두 조건이 모두 참일 때만 실행됨
3.2 중급: 삼항 연산자를 활용한 간결한 표현
bool isMember = true;
string message = isMember ? "회원 전용 서비스입니다." : "비회원은 접근 불가";
Console.WriteLine(message);
- 삼항 연산자는 단순 분기 처리 시 매우 유용함
- 중첩 사용 가능하지만 가독성이 저하될 수 있음
string grade = score >= 90 ? "A" : score >= 80 ? "B" : "C";
3.3 고급: 단락 평가와 안전한 코드
string name = null;
if (name != null && name.Length > 3)
{
Console.WriteLine(name);
}
- name == null이면 name.Length는 평가되지 않음 → 예외 방지
string result = (value > 0 && CheckCondition()) ? "O" : "X";
- CheckCondition()은 value > 0이 true일 때만 호출됨 (단락 평가)
4. 주의사항 및 팁
- 삼항 연산자는 단순 분기에서만 사용 권장 (복잡한 분기는 if문 추천)
- 단락 평가를 활용하면 예외나 불필요한 함수 호출을 방지 가능
- &&와 ||는 논리 연산자이며, 비트 연산자 &, |와는 다름
- 삼항 연산자는 값을 반환하며, 문장(statement)이 아닌 식(expression) 임
5. 결론
- 조건 논리 연산자는 프로그램 흐름 제어에서 핵심적인 역할을 하며, 단락 평가로 성능과 안정성을 확보할 수 있습니다.
- 조건 연산자(삼항 연산자)는 간결한 조건 분기 표현이 가능하며, 출력값 또는 변수 초기화 등에 매우 유용합니다.
- 두 연산자의 차이와 활용법을 정확히 이해하고 상황에 따라 적절히 선택하는 것이 중요합니다.
6. Q&A
Q1. 삼항 연산자는 언제 사용하는 것이 좋나요?
A1. 단순한 조건 분기일 경우, 코드가 간결해지고 가독성이 높아질 때 유용합니다.
Q2. &&와 &의 차이는 무엇인가요?
A2. &&는 단락 평가를 지원하는 논리 연산자이고, &는 모든 피연산자를 평가하는 비트 연산자입니다.
Q3. 삼항 연산자 안에 또 삼항 연산자를 써도 되나요?
A3. 가능하지만 가독성이 떨어지므로 조건문으로 나누는 것이 좋습니다.
Q4. 삼항 연산자에서 반환 타입은 같아야 하나요?
A4. 네. 참일 때 값과 거짓일 때 값은 같은 타입이거나 암시적 변환이 가능해야 합니다.
'C# 학습 > C# 언어의 기초' 카테고리의 다른 글
C# 세미나 자료: 배열 (Array) (0) | 2025.04.08 |
---|---|
C# 세미나 자료: 문자열과 문자 (String & Char) (0) | 2025.04.08 |
C# 세미나 자료: 상등 및 관계 연산자 (Equality & Relational Operators) (0) | 2025.04.08 |
C# 세미나 자료: 부울 형식과 연산자 (Boolean Type & Operators) (0) | 2025.04.08 |
C# 세미나 자료: 실수 반올림 오차 (Floating-Point Rounding Error) (0) | 2025.04.08 |