Android Kotlin short-circuit evaluation
사용 언어: Kotlin 1.9.22
사용 버전: Kotlin Playground
문서를 보던 중, short-circuit evaluation 이란 단어를 보게 되었습니다.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/or.html
사용 버전: Kotlin Playground
안드로이드 코틀린 short-circuit evaluation을 알아보겠습니다.
문서를 보던 중, short-circuit evaluation 이란 단어를 보게 되었습니다.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/or.html
Short-circuit evaluation은 minimal evaluation 또는 McCarthy evaluation 등으로도 불립니다.
우리나라 말로 번역하자면, 단축 평가 또는 단락 평가가 되겠군요. 전자공학을 전공한 저로서는 short-circuit을 보면 단락이 생각나네요.
그래서 short-circuit evaluation이 뭐냐 하면은 논리 연산인 AND와 OR의 경우 하나의 조건만 보고 다음 조건을 확인하지 않는 것을 말합니다.
두 개의 조건이 있는 Boolean 연산자가 있다면, 첫 번째만 보고 두 번째는 생략할 수 있다는 것인데요.
AND의 경우 하나가 false 면 다른 하나가 뭐든 false이기 때문에 첫 번째 것만 보고 판단할 수 있습니다.
OR의 경우 하나가 true 면 다른 하나가 뭐든 true이기 때문에 첫 번째 것만 보고 판단할 수 있습니다.
코틀린의 '||'와 '&&'는 shortcut-circuit 기능을 사용합니다.
아래의 코드를 보시죠.
코드를 보시면, 10 / number은 원래 0으로 나누기 때문에 오류가 발생해야 합니다.
하지만, shortcut-circuit evaluation을 사용하기 때문에 두 번째까지 확인을 하지 않고 통과가 됩니다.
'or'의 경우는 shortcut-circuit evaluation을 사용하지 않기 때문에 모두 확인하는데요. 보시다시피 오류가 발생합니다.
'&&' 경우도 보시죠.
'and'로 변경하면 오류가 발생합니다.
끝.
카테고리: Android
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.