PROGRAMMING LANGUAGE/KOTLIN
[Kotlin] 코틀린에도 삼항 연산자(ternary operator)가 있나요?
EARTH_ROOPRETELCHAM
2022. 6. 27. 22:05
728x90
반응형
삼항 연산자(ternary operator)
JAVA에서는 조건문의 결과가 참인지 거짓인지에 따라 다른 로직을 수행할 때 삼항 연산자를 통해 코드를 간단하게 작성이 가능합니다.
JAVA의 조건문 예시
// 일반적인 if문
public int maxNum(int a, int b) {
if(a > b) return a;
else return b;
}
// 삼항연산자를 사용한 if문
public int maxNum(int a, int b) {
return a > b ? a : b;
}
JAVA와 달린 Kotlin은 삼항 연산자를 제공하지 않습니다. 그 이유는 Kotlin에서의 if문은 표현식(expression)으로, if문과 else문이 직접 값을 반환하기 때문입니다. 따라서, 삼항 연산자 없이 아래와 같이 간단하게 코드를 작성할 수 있습니다.
Kotlin의 조건문 예시
fun maxNum(a : Int, b : Int) : Int {
if (a > b) return a
else return b
}
// As expression
fun maxNum(a : Int, b : Int) : Int {
return if (a > b) a else b
}
만약, 조건문 내에서 값을 지정하는 것 외의 추가 로직이 존재한다면 아래와 같이 작성할 수 있습니다. 조건식은 {}로 감싸지며, 마지막 표현식(expression)이 해당 조건식의 값이 됩니다.
val max = if (a > b) {
print("Choose a")
a // a가 b보다 클 경우 max에는 a가 들어감
} else {
print("Choose b")
b // b가 a보다 크거나 같을 경우 max에는 b가 들어감
}
참고 자료
728x90
반응형