C#/연산자

[C#] 논리연산자

도도돋치 2025. 3. 19. 18:46
Contents 접기
728x90

우리는 현실에서도 "비도 오고 바람도 불면 우산을 써야겠다" 같은 여러 조건을 동시에 판단하는 경우가 많다.
C#에서도 여러 조건을 연결해서 판단할 때 논리 연산자를 사용한다.

논리 연산자란?

논리 연산자는 참(true)과 거짓(false)을 조합해서 더 복잡한 조건을 만들 때 사용한다.

연산자 의미 설명
&& AND(그리고) 둘 다 true일 때만 true
|| OR(또는) 둘 중 하나true일때 true
! NOT(부정) true false, false true로 변경

(AND) 연산자

"두 조건이 모두 맞아야 할 때" 사용한다. 
int age = 20;
bool hasID = true;

if (age >= 18 && hasID)
{
    Console.WriteLine("입장 가능합니다!");  
}
else
{
    Console.WriteLine("입장할 수 없습니다.");
}
  • 결과(age >= 18 (true) 이고 hasID (true), 둘 다 true이므로 실행)
입장 가능합니다!

|| (OR) 연산자

"둘 중 하나라도 맞으면 될 때" 사용한다.
bool isRaining = true;
bool hasUmbrella = false;

if (isRaining || hasUmbrella)
{
    Console.WriteLine("비를 피할 준비 완료!");
}
else
{
    Console.WriteLine("비를 맞을 수도 있어요.");
}
  • 결과(isRaining이 true라서 한쪽만 true여도 전체가 true가 된다)
비를 피할 준비 완료!

! (NOT) 연산자

"참과 거짓을 반대로 뒤집고 싶을 때" 사용한다.
bool isSleeping = false;

if (!isSleeping)
{
    Console.WriteLine("지금 깨어 있어요!");
}
  • 결과(!isSleeping은 false를 true로 바꿔서 실행된다)
지금 깨어 있어요!

논리 연산자 주의할 점

❌ &&와 ||의 평가 순서

C#에서는 앞 조건이 결정되면 뒤 조건을 건너뛸 수 있다!!

int x = 10;

if (x == 10 || SomeFunction()) 
{
    Console.WriteLine("첫 번째 조건이 true이므로 SomeFunction() 실행 안 함");
}

📌 x == 10 true라면 SomeFunction()은 실행되지 않는다!
📌 반대로 && 연산자는 앞이 false면 뒤를 실행 안 한다.

728x90

'C# > 연산자' 카테고리의 다른 글

[C#] 비트연산자  (0) 2025.03.20
[C#] 연산자 우선순위  (0) 2025.03.19
[C#] 관계(비교)연산자  (0) 2025.03.19
[C#] 오버플로우와 언더플로우  (0) 2025.03.19
[C#] 복합 대입 연산자, 증감 연산자(++,--)  (0) 2025.03.19