2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

코틀린의 when 표현식 사용 예시는?

_____
Q1: 코틀린에서 when 표현식이란 무엇인가요?
A1: when 표현식은 여러 조건을 검사하여 그에 맞는 분기 처리를 수행하는 조건식입니다. Java의 switch 문과 유사하지만 더 간결하고 강력한 기능을 제공합니다.

Q2: when 표현식의 기본 문법은 어떻게 되나요?
A2:
```kotlin
when (value) {
condition1 -> result1
condition2 -> result2
else -> defaultResult
}
```
value에 대해 각 condition을 검사하고 일치하는 분기를 실행합니다. else는 모든 조건이 맞지 않을 때 실행됩니다.

Q3: when을 값으로 사용할 수 있나요?
A3: 네, when은 표현식이므로 그 결과를 변수에 할당할 수 있습니다. 예:
```kotlin
val result = when (x) {
1 -> "One"
2 -> "Two"
else -> "Unknown"
}
```

Q4: 여러 조건을 한 분기에서 처리하는 방법은?
A4: 쉼표로 구분하여 여러 값을 하나의 분기로 묶을 수 있습니다.
```kotlin
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("x is neither 0 nor 1")
}
```

Q5: 각 조건에 복잡한 코드를 작성할 수 있나요?
A5: 네, -> 오른쪽에 블록을 써서 여러 줄 코드를 작성할 수 있습니다.
```kotlin
when (x) {
1 -> {
print("One")
print("!")
}
else -> print("Other")
}
```

Q6: 조건에 타입 검사도 가능한가요?
A6: 가능합니다. is 키워드를 사용하여 변수의 타입을 검사할 수 있습니다.
```kotlin
when (obj) {
is String -> print("String: $obj")
is Int -> print("Int: $obj")
else -> print("Unknown type")
}
```

Q7: 조건에 범위 검사도 가능한가요?
A7: in 키워드를 사용해 범위를 검사할 수 있습니다.
```kotlin
when (x) {
in 1..10 -> print("x is between 1 and 10")
!in 10..20 -> print("x is outside 10 to 20")
else -> print("x is between 11 and 20")
}
```

Q8: when에서 인자 생략이 가능한가요?
A8: 네, 인자를 생략하면 각 분기의 조건을 Boolean 식으로 작성해 순서대로 검사합니다.
```kotlin
when {
x.isEmpty() -> print("Empty string")
x.length > 5 -> print("Long string")
else -> print("Short string")
}
```

Q9: when으로 여러 타입과 값을 함께 검사할 수 있나요?
A9: 네, 여러 조건을 조합하여 복합 분기 처리가 가능합니다.
```kotlin
when {
x is String && x.startsWith("A") -> print("Starts with A")
x is Int && x > 0 -> print("Positive integer")
else -> print("Other")
}
```

Q10: when을 활용한 실제 예시 하나 알려주세요.
A10:
```kotlin
fun getDayType(day: String) = when(day) {
"Monday", "Tuesday", "Wednesday", "Thursday", "Friday" -> "Weekday"
"Saturday", "Sunday" -> "Weekend"
else -> "Invalid day"
}
```
입력한 요일에 따라 평일/주말/잘못된 입력을 구분하는 코드입니다.
코틀린(Kotlin)에서 `when` 표현식은 조건문을 간결하고 읽기 쉽게 작성할 수 있는 강력한 도구입니다.

`when`은 여러 조건을 검사하고, 해당 조건에 맞는 블록을 실행하는 방식으로 작동합니다.

이는 Java의 `switch` 문과 유사하지만, 훨씬 더 유연하고 강력한 기능을 제공합니다.

기본 사용법 `when` 표현식의 기본 구조는 다음과 같습니다: ```kotlin when (value) { condition1 -> { // condition1이 true일 때 실행될 코드 } condition2 -> { // condition2가 true일 때 실행될 코드 } else -> { // 어떤 조건도 만족하지 않을 때 실행될 코드 } } ``` 예제 1: 기본적인 when 사용 다음은 간단한 예제입니다.

주어진 숫자에 따라 해당 숫자가 양수, 음수, 또는 0인지 판별하는 코드입니다.

```kotlin fun checkNumber(number: Int) { when { number > 0 -> println("$number는 양수입니다.

") number < 0 -> println("$number는 음수입니다.

") else -> println("0입니다.

") } } fun main() { checkNumber(

10) // 출력: 10는 양수입니다.

checkNumber(-

5) // 출력: -5는 음수입니다.

checkNumber(0) // 출력: 0입니다.

} ``` 위의 예제에서 `when`은 특정 값에 대한 조건을 검사하는 대신, 조건 자체를 직접 사용했습니다.

이는 `when`이 조건문으로도 사용될 수 있음을 보여줍니다.

예제 2: 특정 값에 대한 when 사용 다음은 `when`을 사용하여 주어진 문자열에 따라 다른 메시지를 출력하는 예제입니다.

```kotlin fun greet(language: String) { when (language) { "Korean" -> println("안녕하세요!") "English" -> println("Hello!") "Spanish" -> println("¡Hola!") else -> println("Unknown language") } } fun main() { greet("Korean") // 출력: 안녕하세요! greet("English") // 출력: Hello! greet("French") // 출력: Unknown language } ``` 이 예제에서는 `when`이 특정 값(`language`)에 따라 분기 처리를 하고 있습니다.

예제 3: 여러 조건을 하나의 분기로 묶기 `when` 표현식에서는 여러 조건을 하나의 분기로 묶어서 사용할 수 있습니다.

```kotlin fun describe(obj: Any) { when (obj) { 1, 2 -> println("숫자 1 또는 2입니다.

") "Hello" -> println("인사입니다.

") is Int -> println("정수입니다.

") else -> println("알 수 없는 타입입니다.

") } } fun main() { describe(1) // 출력: 숫자 1 또는 2입니다.

describe("Hello") // 출력: 인사입니다.

describe(4

2) // 출력: 정수입니다.

describe(3.1

4) // 출력: 알 수 없는 타입입니다.

} ``` 위의 예제에서는 `1`과 `2`를 하나의 조건으로 묶어 처리하고, `is` 키워드를 사용하여 타입 체크를 수행하고 있습니다.

예제 4: when을 반환값으로 사용하기 `when` 표현식은 값을 반환할 수 있습니다.

이를 통해 더 간결한 코드를 작성할 수 있습니다.

```kotlin fun getColorName(color: Int): String { return when (color) { 0xFF0000 -> "Red" 0x00FF00 -> "Green" 0x0000FF -> "Blue" else -> "Unknown Color" } } fun main() { println(getColorName(0xFF0000)) // 출력: Red println(getColorName(0x00FF00)) // 출력: Green println(getColorName(0x12345

6)) // 출력: Unknown Color } ``` 이 예제에서는 `when`을 사용하여 색상 코드에 따라 색상 이름을 반환하고 있습니다.

결론 코틀린의 `when` 표현식은 조건문을 작성하는 데 있어 매우 유용하고 강력한 도구입니다.

다양한 방식으로 사용할 수 있으며, 코드의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다.

위의 예제들을 통해 `when` 표현식의 다양한 사용법을 이해하고, 실제 코드에서 활용해 보시기 바랍니다.

작성자: 서태지 [비회원] | 작성일자: 1년 전 2024-09-09 09:47:18
조회수: 185 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.