불리언 표현식
불리언 표현
불리언 표현식(Boolean Expression) 프로그래밍 조건의 참(true) 또는 거짓(false 여부를 판단하는 데 사용되는 핵심적인 개념입니다. 이는 조건문, 반복문, 논리 연산 등 다양한 프로그래밍 구조의 기초를 이루, 프로그램 흐름 제어에 핵심적인 역할 합니다. 이 문서에서는 불리언 표현식의 정의, 구성 요소, 사용 예시 및 프로그래밍에서의 중요성에 대해 다룹니다.
개요
불리언 표현식은 불리언 대수(Boolean Algebra)에서 유래한 개념으로, 영국의 수학자 조지 불(George Boole)이 19세기에 개발한 논리 체계를 기반으로 합니다. 이 표현식은 하나 이상의 조건을 평가하여 참(true) 또는 거짓(false)이라는 불리언 값을 반환합니다.
프로그래밍 언어에서는 불리언 표현식이 if
, while
, for
등의 제어 구조에서 조건을 판단하는 데 사용됩니다. 예를 들어, 사용자의 나이가 18세 이상인지 확인하거나, 두 숫자 중 하나가 다른 하나보다 큰지를 비교할 때 불리언 표현식이 활용됩니다.
구성 요소
불리언 표현식은 다음과 같은 기본 구성 요소로 이루어집니다.
1. 피연산자 (Operands)
피연산자는 비교나 논리 연산의 대상이 되는 값입니다. 변수, 상수, 리터럴 등이 포함됩니다.
예:
age = 20
age >= 18 # age는 피연산자
2. 비교 연산자 (Comparison Operators)
두 값을 비교하여 참/거짓을 반환하는 연산자입니다. 대표적인 비교 연산자는 다음과 같습니다:
연산자 | 의미 | 예시 | 결과 (예: a=5, b=3) |
---|---|---|---|
== |
같음 | a == b | false |
!= |
다름 | a != b | true |
> |
큼 | a > b | true |
< |
작음 | a < b | false |
>= |
크거나 같음 | a >= 5 | true |
<= |
작거나 같음 | b <= 3 | true |
3. 논리 연산자 (Logical Operators)
여러 불리언 표현식을 결합할 때 사용하는 연산자입니다. 주로 [AND](/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%85%BC%EB%A6%AC%20%EC%97%B0%EC%82%B0/AND)
, [OR](/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%85%BC%EB%A6%AC%20%EC%97%B0%EC%82%B0/OR)
, [NOT](/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/%EB%85%BC%EB%A6%AC%20%EC%97%B0%EC%82%B0/NOT)
이 사용됩니다.
연산자 | 의미 | 예시 | 설명 |
---|---|---|---|
and |
논리곱 | (a > 0) and (b < 10) | 양쪽 모두 참일 때만 참 |
or |
논리합 | (a < 0) or (b > 5) | 둘 중 하나라도 참이면 참 |
not |
부정 | not (a == b) | 조건의 결과를 반전 |
예 (Python):
x = 5
y = 10
result = (x > 0) and (y < 20) # True
사용 예시
1. 조건문에서의 활용
불리언 표현식은 if
문과 함께 사용되어 조건에 따라 코드를 분기합니다.
age = 17
if age >= 18:
print("성인입니다.")
else:
print("미성년자입니다.")
여기서 age >= 18
은 불리언 표현식이며, 나이가 18 이상이면 True
, 아니면 False
를 반환합니다.
2. 반복문에서의 활용
while
루프는 불리언 표현식이 참인 동안 반복을 수행합니다.
count = 0
while count < 5:
print(count)
count += 1
count < 5
는 매 반복마다 평가되는 불리언 표현식입니다.
3. 복합 조건식
여러 조건을 결합하여 더 정교한 판단을 할 수 있습니다.
temperature = 30
is_summer = True
if temperature > 25 and is_summer:
print("에어컨을 켜세요.")
중요성과 주의사항
- 흐름 제어의 핵심: 프로그램의 실행 흐름을 결정짓는 가장 기본적인 단위입니다.
- 가독성: 복잡한 불리언 표현식은 괄호를 사용해 명확히 구분하는 것이 좋습니다.
# 권장
if (age >= 18) and (has_license or (parent_consent and age >= 16)):
- 단락 평가(Short-circuit evaluation): 대부분의 언어에서
and
,or
연산자는 좌항의 결과에 따라 우항을 평가하지 않을 수 있습니다. 예:False and some_function()
→some_function()
은 호출되지 않음.
관련 개념
-
삼항 연산자: 불리언 표현식을 기반으로 값을 선택하는 단축 표현.
result = "성인" if age >= 18 else "미성년자"
-
비트 논리 연산자: 논리 연산자와 유사하지만 비트 단위로 작동 (예:
&
,|
,~
). -
진리표(Truth Table): 논리 연산자의 입력과 출력 관계를 정리한 표.
참고 자료
- Boolean Algebra - Wikipedia
- Python Documentation - Boolean Operations
- "컴퓨터 과학의 기초", 저자: 제럴드 제이 설리반, 불리언 논리 장
불리언 표현식은 프로그래밍의 기초이자 핵심이며, 이를 정확히 이해하는 것은 효율적이고 오류 없는 코드 작성에 필수적입니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.