논리 연산자(Logical Operator)는 불리언(Boolean) 값, 즉 true 또는 false와 함께 사용되는 연산자입니다. C#에서는 다음 세 가지 논리 연산자를 제공합니다.
| 연산자 | 설명 |
|---|---|
| && | 논리 AND 연산자라고 합니다. 두 피연산자가 모두 참(non-zero)일 때만 전체 조건이 참(true)이 됩니다. |
| || | 논리 OR 연산자라고 합니다. 두 피연산자 중 하나라도 참(non-zero)이면 전체 조건이 참(true)이 됩니다. |
| ! | 논리 NOT 연산자라고 합니다. 피연산자의 논리 상태를 반전시키는 데 사용되며, 조건이 참이면 거짓으로, 거짓이면 참으로 바꿉니다. |
다음 예제는 C#에서 논리 연산자를 어떻게 활용하는지 보여줍니다. 아래 코드는 논리 AND(&&) 연산자로 조건을 검사하는 방식입니다.
if (a && b) {
Console.WriteLine("Line 1 - Condition is true");
}같은 방식으로 나머지 논리 연산자들도 어떻게 동작하는지 살펴보겠습니다.
예제 코드
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
bool a = true;
bool b = true;
if (a && b) {
Console.WriteLine("Line 1 - Condition is true");
}
if (a || b) {
Console.WriteLine("Line 2 - Condition is true");
}
a = false;
b = true;
if (a && b) {
Console.WriteLine("Line 3 - Condition is true");
} else {
Console.WriteLine("Line 3 - Condition is not true");
}
if (!(a && b)) {
Console.WriteLine("Line 4 - Condition is true");
}
Console.ReadLine();
}
}
}
실행 결과
Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - Condition is not true
Line 4 - Condition is true
결과 분석
Line 1: 변수 a와 b가 모두 true이므로 AND(&&) 조건이 참이 되어 출력됩니다.
Line 2: OR(||) 연산자는 두 값 중 하나만 참이어도 조건을 만족하므로 출력됩니다.
Line 3: a가 false로 변경된 후에는 AND 조건이 거짓이 되므로 else 블록의 문장이 실행됩니다.
Line 4: NOT(!) 연산자가 (a && b)의 결과인 false를 반전시켜 true가 되므로 조건문이 실행됩니다.