-
코틀린과 삼항 연산자Kotiln 2021. 3. 19. 09:31
결론부터 말하자면 코틀린에는 삼항 연산자가 존재하지 않습니다.
그 대신
if - else
로 대체하거나when
을 사용하여 표현할 수 있습니다.val a = if(b) b else c
위 처럼 변수에 값을 넣는 방법으로도 사용할 수 있습니다.
왜 삼항연산자가 없는 가를 말하려면 코틀린의 특성을 이야기해야 합니다.
코틀린에서 if 는
문(expression
이 아닌식(statement)
입니다.식은 값을 만들어 내며 다른 식의 하위 요소로 계산에 참여할 수 있습니다. 따라서 위의 코드 처럼 변수에 값을 넣는 방식으로 사용할 수 있는 것입니다.
그렇기 때문에 삼항연산자와
if
의 역할이 중복되기 때문에 코틀린에서는 빠진 것이라고 추측할 수 있습니다.코틀린 공식 문서(https://kotlinlang.org/docs/control-flow.html ) 에서는 if 가 역할을 잘 수행하고 있기 때문에 삼항 연산자가 존재하지 않는다고 말합니다.
https://discuss.kotlinlang.org/t/ternary-operator/2116/171 에서 코틀린에서 삼항연산자가 왜 없는지에 대한 토론의 요약을 볼 수 있습니다.
참고
코틀린 인 액션
반응형'Kotiln' 카테고리의 다른 글
Kotlin - Reflection 과 생성자 (0) 2021.08.04 Kotlin - jackson 을 이용하여 객체를 json 으로 변환할 때 주의점 (4) 2021.03.24 kotlin gradle 프로젝트에 ktlint 적용하기 (0) 2020.11.07 [Kotlin] 고차 함수 (0) 2020.06.30 [Kotlin] 엔티티로 테이블 이름 가져오기 (0) 2020.04.13