코틀린에서의 제어문도 자바와 차이가 있는 부분입니다.
코틀린에서의 If-else 문은 그 자체로 하나의 표현식 (expression) 이 됩니다.
이는 if-else 문을 그대로 return 할 수도 있는 뜻이기도 합니다. Java에서 클린코드를 구현하다보면 else 문을 되도록 사용하지 않는 것을 권고합니다. Early return 을 통해 else 를 쓰지 않고 로직이 처리되는 것을 선호합니다.
그런데 코틀린에서는 그 자체가 하나의 표현식이라서 바로 return 문에서 활용이 가능합니다.
fun getGradeWithIf(score: Int): String {
return if (score >= 50) {
"P"
} else {
"F"
}
}
위와 같은 표현이 가능합니다.
switch-case 구문은 when 구문을 써서 대체할 수 있습니다. 역시 표현식이므로 바로 return 이 가능합니다.
fun getGradeWithSwitch(score: Int) : String {
// 조건부에는 어떤 expression 도 들어갈 수 있다.
return when (score) {
in 90..99 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
else -> "D"
}
}
또한 표현식이므로 바로 변수에 대입도 가능합니다.
자바와 다른점은 이정도인 것 같습니다. 하지만 실제 코드를 작성해보면 꽤나 차이가 나는 부분입니다.
무의미하게 나누는 함수 사용이 줄어들고 더 직관적인 코딩도 가능한 것 같고, else 를 사용하지 않으려 했던 자바와도 차이가 있습니다.
다음은 함수 사용의 차이에 대해서 적겠습니다. 👍
'언어 > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 살짝 맛보기 - 함수 (0) | 2022.07.20 |
---|---|
[Kotlin] 코틀린 살짝 맛보기 - 타입과 변수 (0) | 2022.07.10 |