Android Kotlin short-circuit evaluation

사용 언어: Kotlin 1.9.22
사용 버전: 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


댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()