비교 연산자와 논리 연산자

C#의 비교 연산자와 논리 연산자를 학습합니다. OR, AND, NOT 연산자를 사용하여 조건을 조합하는 방법을 이해합니다.

비교 연산자(operator)

두 값을 비교해서 참(true) 또는 거짓(false)을 반환(return)합니다. Unity에서 플레이어의 체력, 점수, 레벨 등을 비교할 때 사용합니다.

크기 비교

  • > : 왼쪽이 더 크면 true

    • 예: playerHp > 0 → 체력이 0보다 크면 true (생존)
    • 예: currentScore > highScore → 현재 점수가 최고 점수보다 높으면 true
  • < : 왼쪽이 더 작으면 true

    • 예: enemyHp < 10 → 적 체력이 10보다 작으면 true (약한 상태)
    • 예: playerLevel < maxLevel → 플레이어 레벨이 최대 레벨보다 낮으면 true

같음 비교

  • == : 두 값이 같으면 true

    • 예: playerHp == 0 → 체력이 0이면 true (사망)
    • 예: itemCount == maxInventorySize → 아이템 개수가 인벤토리 최대치와 같으면 true
  • != : 두 값이 다르면 true

    • 예: playerHp != 0 → 체력이 0이 아니면 true (생존)
    • 예: currentWeapon != null → 현재 무기가 있으면 true

크거나 같음, 작거나 같음

  • <= : 왼쪽이 오른쪽보다 작거나 같으면 true

    • 예: playerHp <= 30 → 체력이 30 이하면 true (위험 상태)
    • 예: enemyCount <= 0 → 적이 없거나 0이면 true
  • >= : 왼쪽이 오른쪽보다 크거나 같으면 true

    • 예: playerLevel >= 10 → 레벨이 10 이상이면 true (레벨업 가능)
    • 예: score >= targetScore → 점수가 목표 점수 이상이면 true

논리 연산자(operator)

여러 조건을 조합할 때 사용합니다. Unity에서 복잡한 게임 로직을 만들 때 필수입니다.

OR 연산자 (||)

  • 의미: "또는" - 둘 중 하나라도 true면 true
  • 게임 예시:
// 플레이어가 죽었거나 게임이 종료되었으면
if (playerHp <= 0 || isGameOver)
{
    ShowGameOverScreen();
}

// 스페이스바 또는 마우스 왼쪽 버튼을 누르면 점프
if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))
{
    Jump();
}

Unity 활용:

  • 여러 입력 키 중 하나라도 눌렸는지 확인
  • 여러 조건 중 하나라도 만족하면 실행
  • 플레이어가 죽었거나 시간이 끝났거나 등

AND 연산자 (&&)

  • 의미: "그리고" - 둘 다 true여야 true
  • 게임 예시:
// 체력이 있고 마나가 있으면 스킬 사용 가능
if (playerHp > 0 && playerMana >= skillCost)
{
    UseSkill();
}

// 레벨이 10 이상이고 퀘스트를 완료했으면 보상 지급
if (playerLevel >= 10 && questCompleted)
{
    GiveReward();
}

Unity 활용:

  • 여러 조건을 모두 만족해야 실행
  • 아이템을 사용할 수 있는지 확인 (아이템이 있고, 쿨타임이 없고 등)
  • 보스를 처치할 수 있는지 확인 (무기가 있고, 체력이 있고 등)

NOT 연산자 (!)

  • 의미: "아니다" - true를 false로, false를 true로 바꿈
  • 게임 예시:
// 게임이 끝나지 않았다면 계속 플레이
if (!isGameOver)
{
    UpdateGame();
}

// 무기가 없지 않다면 (무기가 있다면) 공격 가능
if (!(currentWeapon == null))
{
    Attack();
}

// 더 간단하게는
if (currentWeapon != null)
{
    Attack();
}

Unity 활용:

  • 조건을 반대로 만들 때
  • null 체크의 반대
  • 게임 상태가 아닐 때 실행

← 목차로 돌아가기