Menu
Coddy logo textTech

불리언이란 무엇인가요?

프로그래밍에서 불리언은 참(true)과 거짓(false), 딱 두 가지 값만 가지는 자료형입니다. 프로그램은 age >= 18 같은 비교로 불리언을 얻고, if 문과 반복문의 조건에서 어떤 코드를 실행할지 정하는 데 써요.

글쓴이: Kevin Spektor, 공동 창업자, CTO

업데이트: 2026년 9월 24일

프로그램이 내리는 모든 결정은 답이 두 가지뿐인 질문으로 귀결돼요. 비밀번호가 맞는지, 장바구니가 비었는지, 타이머가 0에 닿았는지 같은 질문이에요. 불리언은 이런 답을 담는 자료형이에요. 1847년과 1854년에 펴낸 책에서 참과 거짓 값의 대수를 설명한 영국 수학자 조지 불(George Boole)의 이름을 땄어요.

불리언은 어디서 생기나요

True나 False를 직접 입력하는 일은 드물어요. 대부분의 불리언은 비교에서 나와요. 비교는 두 값에 대해 질문하고 불리언으로 답해요.

연산자뜻예결과
==같다3 == 3True
!=같지 않다3 != 3False
<, >작다, 크다2 < 5True
<=, >=이하, 이상17 >= 18False

불리언은 다른 값처럼 변수에 저장할 수 있고, 다른 불리언과 조합할 수도 있어요.

False
<class 'bool'>
False
True

불리언 조합하기: and, or, not

세 가지 논리 연산자로 작은 조건을 모아 더 큰 조건을 만들어요. and는 양쪽이 모두 참일 때만 참이에요. or는 적어도 한쪽이 참이면 참이에요. not은 값 하나를 뒤집어요.

aba and ba or bnot a
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

파이썬은 이 연산자들을 단어로 써요. C, 자바, 자바스크립트는 기호를 써요. and는 &&, or는 ||, not은 !예요. 네 언어 모두 답이 정해지는 순간 계산을 멈춰요. 그래서 a and b에서 a가 거짓이면 오른쪽은 아예 확인하지 않아요. 이것을 단락 평가(short-circuit evaluation)라고 해요. 파이썬 논리 연산자 가이드에서 자세히 다뤄요.

불리언이 프로그램을 제어하는 방법

if 문은 조건이 참일 때만 블록을 실행해요. while 반복문은 조건이 참인 동안 블록을 되풀이하므로, 모든 반복문은 매번 돌기 전에 다시 확인하는 불리언이 움직여요. 이런 되풀이를 반복이라고 해요.

Hot day
Countdown: 3
Countdown: 2
Countdown: 1

count가 0이 되면 조건 count > 0이 False가 되고 반복이 끝나요. 조건이 절대 거짓이 될 수 없다면 반복문은 영원히 돌아요.

1과 0으로서의 불리언

불리언에 필요한 정보는 비트 하나뿐이에요. 참은 1, 거짓은 0이에요. 실제로 언어들은 불리언을 적어도 1바이트에 저장해요. 바이트가 자기 주소를 가진 가장 작은 메모리 단위이기 때문이에요. C에서 <stdbool.h>의 bool은 gcc와 clang에서 1바이트를 차지해요. 플래그가 수백만 개 필요한 프로그램은 비트 연산자로 바이트 하나에 8개씩 채워 넣어요.

불리언이 숫자이기도 한지는 언어마다 의견이 달라요. 파이썬에서 bool은 int의 하위 클래스라서 True는 1, False는 0과 같아요. 덕분에 개수 세기가 쉬워요.

True True
2
3 correct

자바스크립트도 true + true가 2예요. C에는 C99 전까지 불리언 타입이 없었고, 지금도 0이 아닌 수는 모두 참으로 취급해요. 자바는 엄격해요. 자바의 조건은 반드시 boolean이어야 하므로 if (1)은 컴파일되지 않아요.

truthy 값과 falsy 값

파이썬과 자바스크립트에서는 True와 False뿐 아니라 어떤 값이든 조건으로 쓸 수 있어요. 거짓으로 취급되는 값을 falsy, 나머지를 모두 truthy라고 해요.

0 -> False
42 -> True
'' -> False
'False' -> True
[] -> False
[0] -> True
None -> False

파이썬에서는 0, 빈 문자열, 빈 컬렉션, None이 falsy예요. 문자열 "False"는 truthy예요. 다섯 글자가 들어 있는 문자열이니까요. 자바스크립트에는 false, 0, "", null, undefined, NaN 등 자기만의 falsy 값이 있고, 여기서는 빈 배열 []이 truthy예요. 전체 규칙은 자바스크립트의 truthy와 falsy를 참고하세요.

흔한 실수

True와 비교하기. if is_ready == True:도 동작하지만, if is_ready:가 같은 뜻을 더 짧게 말해요. 거짓인 경우는 if not is_ready:라고 쓰세요.

텍스트를 불리언처럼 다루기. 사용자, 파일, 폼에서 오는 입력은 문자열이라서 bool("false")는 True예요. 대신 텍스트를 비교하세요. answer == "yes"처럼요.

대소문자 틀리기. 파이썬은 True와 False로 쓰고, 자바스크립트, 자바, C는 true와 false로 써요. 파이썬에서 true라고 입력하면 NameError: name 'true' is not defined가 나요.

모호한 이름. 불리언의 이름은 is_valid, has_access, can_edit처럼 예/아니요 질문처럼 지으세요. 그러면 조건이 문장처럼 읽혀요. if user.can_edit:처럼요.

다음으로 읽을 내용

불리언은 반복문이 몇 번 돌지를 정하므로, 자연스러운 다음 페이지는 반복이란 무엇인지예요. 비트란 무엇인지에서는 모든 참과 거짓 아래에 있는 0과 1을 볼 수 있어요. 파이썬의 세부 내용은 숫자와 불리언을 읽고, 파이썬 강의에서 조건문을 연습해 보세요.

자주 묻는 질문

불리언의 예로는 어떤 것이 있나요?
5 > 3이라는 비교는 불리언 식이고, 그 값은 True예요. is_logged_in = False 같은 변수는 불리언 값을 담고 있어요. 도서관 목록에서 cats AND dogs로 검색하는 것도 같은 논리를 쓰는 불리언 검색이에요.
불리언은 1인가요, 0인가요?
불리언에는 두 가지 값이 있고, 많은 언어가 참을 1, 거짓을 0으로 나타내요. 파이썬에서 True == 1은 True이고, C에서는 0이 아닌 수는 모두 참으로 취급해요. 자바는 둘을 구분해요. 자바의 boolean은 숫자로 전혀 쓸 수 없어요.
불리언은 그냥 예 아니면 아니요인가요?
네. 불리언은 두 값 중 정확히 하나를 담고, 예 또는 아니요, 켜짐 또는 꺼짐, 참 또는 거짓으로 읽을 수 있어요. 대기 중, 결제 완료, 환불처럼 상태가 두 가지보다 많다면 불리언 여러 개 대신 문자열이나 열거형(enum)을 쓰세요.
파이썬에서 불리언은 무엇인가요?
파이썬의 불리언 타입은 bool이고, 두 값은 대문자로 시작하는 True와 False예요. bool은 int의 하위 클래스라서 산술 연산에서 True는 1처럼 동작해요. bool() 함수는 파이썬의 참/거짓 판정 규칙에 따라 어떤 값이든 True나 False로 바꿔요.
불리언 검색이란 무엇인가요?
불리언 검색은 키워드를 AND, OR, NOT 연산자로 조합해서 결과를 좁히거나 넓히는 검색이에요. python AND tutorial은 두 단어가 모두 있어야 하고, python OR java는 둘 중 하나만 있어도 되며, python NOT snake는 두 번째 단어가 있는 페이지를 빼요. 도서관 목록과 학술 데이터베이스는 이 방식을 바로 지원하고, 구글은 OR와, NOT 대신 빼기 기호를 받아들여요.
Coddy programming languages illustration

Coddy로 코딩 배우기

시작하기