불리언 연산자

불리언 연산자

불리언 연산자는 1비트 크기의 타입에 대한 논리 연산으로 생각할 수 있어요. 그래서 shl이나 shr 같은 시프트 연산은 큰 의미가 없죠. 불리언 연산자는 불리언 타입의 피연산자만 받을 수 있고, 결과 타입도 항상 불리언이에요. 가능한 연산자는 표 12.5에 나와 있어요.

출처: 문서

본문

표 12.5: 불리언 연산자

연산자 동작
not 논리 부정 (단항)
and 논리 and
or 논리 or
xor 논리 xor

한 가지 기억해 두면 좋은 점이 있어요. 기본적으로 불리언 표현식은 단락 평가(short-circuit evaluation) 로 평가돼요. 즉, 전체 표현식의 결과가 확정되는 순간 평가를 멈추고 그 결과를 돌려줘요. 예를 들어 다음 표현식을 볼게요.

B := True or MaybeTrue;

여기서 컴파일러는 MaybeTrue의 값을 전혀 보지 않아요. 표현식이 항상 True일 게 분명하니까요. 이 전략 때문에 MaybeTrue가 함수라면 그 함수는 아예 호출되지 않아요. (이건 프로퍼티와 함께 사용할 때 의외의 효과를 낼 수 있으니 주의하세요.)

더 알아보기