논리 연산 AND/OR/NOT (Boolean Logic Operations)
쉽게 풀면
전등 스위치 두 개가 직렬로 연결되어 있다고 해봅시다. 두 스위치가 "모두" 켜져야만 불이 들어옵니다. 이것이 AND 연산입니다. 반대로 두 스위치가 병렬로 연결되어 있으면, 둘 중 "하나만" 켜져도 불이 들어옵니다. 이것이 OR 연산입니다. 그리고 스위치 상태를 켜짐이면 꺼짐으로, 꺼짐이면 켜짐으로 뒤집는 것이 NOT 연산입니다. 이렇게 참과 거짓 두 값만 가지고 조건을 조합하는 방식을 논리 연산이라 하며, 프로그램의 조건문이나 컴퓨터 회로 설계 모두 이 세 가지 기본 연산의 조합으로 이루어져 있습니다.
왜 중요한가
논리 연산은 컴퓨터가 조건을 판단하고 데이터를 걸러내는 가장 기본적인 도구이기 때문에, 프로그래밍 언어의 조건문뿐 아니라 데이터베이스 질의, 디지털 회로 설계, 인공지능의 규칙 기반 추론 등 훨씬 상위의 연구 주제들이 모두 이 개념 위에 세워져 있습니다. 예를 들어 검색 엔진의 질의 처리나 접근 제어 정책 설계처럼 여러 조건을 동시에 또는 선택적으로 만족시켜야 하는 문제는 결국 AND/OR/NOT의 조합으로 표현됩니다. 그래서 논문에서는 이 개념 자체를 깊게 다루기보다, 더 복잡한 시스템이나 알고리즘을 설명하기 위한 전제로 짧게 언급하고 넘어가는 경우가 많습니다.
논문에서는 이렇게 쓰입니다
이 문장은 여러 조건을 동시에 만족해야 하는지(AND), 하나만 만족해도 되는지(OR)를 논리 연산으로 정의해 시스템을 설계했다는 뜻입니다. 컴퓨터공학·정보시스템 논문에서는 이런 기본적인 논리 연산 개념을 배경지식으로 짧게 언급한 뒤 본 주제로 넘어가는 경우가 많습니다.
보안·시스템 분야 논문에서는 이렇게 인증 상태나 권한 조건을 부정(NOT)하거나 결합(AND)하는 방식으로 접근 통제 규칙을 표현하는 경우가 흔합니다. 규칙이 논리식 형태로 명확히 정의되어 있어야 시스템이 오작동 없이 판단을 내릴 수 있기 때문입니다.
데이터베이스·정보검색 분야에서는 대량의 데이터를 다룰 때 AND/OR로 이루어진 조건식의 평가 순서나 구조를 바꾸는 것만으로도 처리 속도가 크게 달라질 수 있어, 논리 연산 자체를 최적화 대상으로 다루는 연구도 있습니다.
조금 더 깊게 보면
실제 논문에서는 AND/OR/NOT 세 가지 기본 연산 외에도 배타적 논리합(XOR), NAND, NOR 같은 파생 연산자가 함께 언급되기도 합니다. 이런 연산자들은 논리 회로 설계에서 더 적은 부품으로 같은 기능을 구현하거나, 조건식을 더 간결하게 표현하는 데 활용됩니다. 또한 여러 조건이 복잡하게 얽힌 논리식은 드모르간의 법칙 같은 규칙을 이용해 동치인 더 단순한 형태로 바꿀 수 있는데, 이는 조건문을 읽기 쉽게 정리하거나 계산 비용을 줄이는 데 자주 쓰입니다. 논문을 읽을 때 이런 변형된 논리식을 마주치면, 결국은 AND/OR/NOT의 조합이 형태만 바뀐 것이라는 점을 기억하면 이해하기가 한결 수월합니다.
주의할 점
논리 연산은 산술 연산(더하기, 빼기)과 다르게 결과가 항상 참 또는 거짓 두 가지뿐입니다. 프로그래밍에서는 이 논리 연산의 결과값에 따라 실행할 코드를 분기하는 제어구조(조건문)와 함께 쓰이는 경우가 대부분이므로, 둘을 따로 떼어놓고 이해하기보다는 함께 익히는 것이 좋습니다.