불리언(Booleans
[//]: # (title: 불리언(Booleans)) [//]: # (description: 선언, 논리 연산자, 조건문을 포함하여 Kotlin에서 불리언(Boolean) 값을 사용하는 방법을 알아봅니다.)
Boolean 타입은 논리 값인 true와 false를 나타냅니다.
예-아니오 질문에 답하는 함수나 while, if, when 조건문에서 Boolean 값을 사용하세요.
Boolean 변수 선언
Boolean 변수를 선언하려면 true 또는 false를 할당하세요.
Boolean 타입을 명시적으로 지정하거나 Kotlin이 값으로부터 타입을 추론하게 할 수 있습니다:
val isTrue: Boolean = true
val isFalse = false // Kotlin이 Boolean으로 추론함값이 null일 수 있다면 Boolean?을 사용하세요:
val isEnabled: Boolean? = null정수 값을
Boolean변수에 할당할 수 없습니다. Kotlin에서0과1은Boolean값이 아닙니다.
Boolean 값 생성
비교 식이나 함수를 사용하여 Boolean 값을 생성할 수 있습니다:
fun main() {
val number = 10
val isPositive = number > 0
println(isPositive) // true
val language = "Kotlin"
val isEmpty = language.isEmpty()
println(isEmpty) // false
}결과를 조건문이나 다른 식에서도 사용할 수 있습니다:
fun main() {
val number = 10
val isPositive = number > 0 // true
if (isPositive) {
println("The number is positive.")
}
}Boolean 연산
Kotlin은 Boolean 값을 다루기 위한 연산자와 중위(infix) 함수를 제공합니다. 이를 사용해 Boolean 값을 반전시키거나 여러 Boolean 값을 하나의 결과로 결합할 수 있습니다.
부정 (NOT)
NOT 연산자는 Boolean 값을 반전시킵니다.
NOT을 사용하려면 Boolean 값 앞에 ! 연산자를 배치하세요:
val isOn = true
val isOff = !isOn // isOff는 false논리곱 (AND)
AND 연산자는 두 피연산자가 모두 true인 경우에만 true를 반환합니다.
논리곱(AND)을 사용하려면 피연산자 사이에 && 연산자를 배치하세요:
val a = false && false // false
val b = false && true // false
val c = true && false // false
val d = true && true // true첫 번째 피연산자가
false이면&&연산자는 두 번째 피연산자를 건너뜁니다. 두 피연산자를 모두 평가하려면 대신and중위 함수(infix function)를 사용하세요.
논리합 (OR)
OR 연산자는 피연산자 중 하나 이상이 true이면 true를 반환합니다.
논리합(OR)을 사용하려면 피연산자 사이에 || 연산자를 배치하세요:
val a = false || false // false
val b = false || true // true
val c = true || false // true
val d = true || true // true첫 번째 피연산자가
true이면||연산자는 두 번째 피연산자를 건너뜁니다. 두 피연산자를 모두 평가하려면 대신or중위 함수(infix function)를 사용하세요.
배타적 논리합 (XOR)
배타적 논리합(XOR) 연산은 피연산자의 값이 서로 다를 때 true를 반환합니다.
XOR을 사용하려면 피연산자 사이에 xor을 작성하세요:
val a = false xor false // false
val b = false xor true // true
val c = true xor false // true
val d = true xor true // false
xor은 연산자가 아니라 중위 함수(infix function)입니다.API 레퍼런스에서
Boolean함수에 대해 더 자세히 알아보세요.
연산자 우선순위
식에 여러 논리 연산이 포함되어 있고 평가 순서를 지정하는 괄호가 없는 경우, Kotlin은 우선순위 규칙을 적용합니다. 우선순위가 높은 연산이 우선순위가 낮은 연산보다 먼저 평가됩니다.
이 섹션에서 설명하는 Boolean 연산의 우선순위 순서는 다음과 같습니다:
!xor(및 기타 중위 함수)&&||
다음 예제에서 컴파일러는 ||보다 &&를 먼저 평가합니다:
fun main() {
val result = true || false && false
println(result) // true
}평가 순서를 명시적으로 나타내려면 괄호를 사용하세요:
fun main() {
val result = (true || false) && false
println(result) // false
}조건문의 Boolean
if, when, 그리고 while은 Boolean 식을 평가하여 프로그램의 흐름을 제어합니다.
if 식
fun main() {
val number = 4
val isEven = number % 2 == 0
// 조건이 이미 Boolean 타입입니다
// true 또는 false와 비교할 필요가 없습니다
if (isEven) {
println("The number is even.")
} else {
println("The number is odd.")
}
}when 식
fun main() {
val number = 3
when {
number > 0 -> println("The number is positive.")
number < 0 -> println("The number is negative.")
else -> println("The number is zero.")
}
}while 루프
fun main() {
var isCalculating = true
while (isCalculating) {
println("Calculating...")
isCalculating = false
}
}