글 목록

최신 글과 검색 결과
DEVELOPMENT

논리연산자 [||, &&, !]

간지뽕빨리턴님

이 글의 목차

    반응형

    프로그래밍 논리 연산자(AND, OR, NOT)의 개념과 진리표, 단축 평가까지 정리합니다.

    확실하게 알고 넘어가는 논리 연산자

    코드를 작성하다 보면 가장 흔하게 사용하는 것이 논리 연산자입니다. 워낙 자주 쓰다 보니 익숙하지만, 정확한 동작(특히 단축 평가)을 모르면 의도치 않은 버그로 이어지기도 합니다. 이 글에서는 논리 연산자의 개념과 진리표, 실제 예제, 그리고 꼭 알아야 할 단축 평가와 우선순위까지 정리하겠습니다.

    목차

      논리 연산자란

      논리 연산자는 참(true)과 거짓(false)을 판단하는 연산자입니다. 결과가 불리언(boolean) 형태로 반환되기 때문에, 조건문(if)이나 반복문(while)에서 조건을 조합할 때 핵심적으로 쓰입니다.

      주요 논리 연산자

      이름 연산자 의미
      AND && (또는 AND) 둘 다 참이어야 참
      OR || (또는 OR) 하나라도 참이면 참
      NOT ! (또는 NOT) 참과 거짓을 뒤집음

      * C·Java·JavaScript 등은 &&, ||, ! 기호를 쓰고, Python·SQL 등은 and, or, not 키워드를 씁니다.

       

      진리표로 보기

      각 연산자가 입력에 따라 어떤 결과를 내는지 정리한 표를 진리표라고 합니다.

      A B A && B A || B !A
      거짓
      거짓 거짓 거짓
      거짓 거짓
      거짓 거짓 거짓 거짓

       

      예제로 보기

      const age = 25;
      const hasTicket = true;
      
      // AND: 두 조건이 모두 참일 때만 입장
      if (age >= 19 && hasTicket) {
          console.log("입장 가능");
      }
      
      // OR: 둘 중 하나만 참이어도 할인
      const isStudent = false;
      const isSenior = true;
      if (isStudent || isSenior) {
          console.log("할인 대상");
      }
      
      // NOT: 조건을 뒤집기
      if (!hasTicket) {
          console.log("티켓이 없습니다");
      }

       

      꼭 알아야 할 단축 평가(Short-circuit)

      논리 연산자에는 '단축 평가'라는 중요한 특성이 있습니다. 결과가 이미 정해지면 뒤쪽 조건은 아예 실행하지 않는 것입니다.

      • AND(&&) – 앞 조건이 거짓이면, 뒤는 보나 마나 거짓이므로 뒤를 평가하지 않습니다.
      • OR(||) – 앞 조건이 참이면, 뒤는 보나 마나 참이므로 뒤를 평가하지 않습니다.

      이 특성은 단순한 최적화를 넘어, 오류를 막는 데 유용하게 쓰입니다. 예를 들어 객체가 존재할 때만 속성에 접근하도록 안전장치를 만들 수 있습니다.

      // user가 null이면 user.name 접근 자체를 시도하지 않음 → 에러 방지
      if (user && user.name) {
          console.log(user.name);
      }

       

      연산자 우선순위

      여러 논리 연산자가 함께 쓰이면 NOT → AND → OR 순으로 먼저 계산됩니다. 즉 !가 가장 먼저, ||가 가장 나중입니다. 의도가 헷갈릴 수 있으므로, 복잡한 조건은 괄호로 묶어 명시하는 것이 안전합니다.

      // 우선순위 때문에 헷갈리는 예
      true || false && false   // && 가 먼저 → true || (false) → true
      
      // 괄호로 의도를 분명히
      (true || false) && false // → true && false → false

       

      마무리

      논리 연산자 AND, OR, NOT을 진리표와 예제, 단축 평가, 우선순위까지 정리해 봤습니다. 특히 단축 평가는 에러를 막는 안전장치로 자주 활용되니 꼭 기억해 두시면 좋습니다.

       

      궁금한 점이 있으면 댓글로 남겨 주세요. 답변드리겠습니다!