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. 8. 01:00

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. 네. 참일 때 값거짓일 때 값은 같은 타입이거나 암시적 변환이 가능해야 합니다.