코틀린에서 단일 표현식 함수(single-expression function)는 함수 본문이 단일 표현식으로 이루어진 함수를 말합니다. 이러한 함수는 간결하게 표현할 수 있으며, 중괄호({}) 대신 등호(=)와 함께 사용됩니다. 단일 표현식 함수를 정의하는 방법과 활용하는 예제를 살펴보겠습니다.
1. 기본 형식
fun add(a: Int, b: Int): Int = a + b
- fun: 함수를 정의하는 키워드입니다.
- add: 함수의 이름입니다.
- (a: Int, b: Int): 매개변수 목록입니다.
- : Int: 반환 타입입니다.
- = a + b: 단일 표현식으로 이루어진 함수 본문입니다.
2. 타입 추론
타입이 명시되어 있지 않아도 코틀린은 표현식을 기반으로 타입을 추론합니다.
fun add(a: Int, b: Int) = a + b
3. 다른 타입의 단일 표현식 함수
fun isEven(number: Int): Boolean = number % 2 == 0
Boolean 타입의 함수를 정의한 예제입니다.
4. 람다식과 함께 사용
fun greet(name: String) = { println("Hello, $name!") }
함수가 람다식을 반환하는 경우에도 단일 표현식으로 간결하게 표현 가능합니다.
5. 조건문을 활용한 단일 표현식 함수
fun max(a: Int, b: Int) = if (a > b) a else b
조건문을 사용하여 단일 표현식 함수를 정의한 예제입니다.
6. 확장 함수에서의 활용
fun String.addExclamation() = "$this!"
확장 함수를 정의할 때도 단일 표현식으로 간결하게 표현할 수 있습니다.
7. 단일 표현식 함수와 let 함수의 조합
val lengthOrNull: String? = "Hello, Kotlin"
val length = lengthOrNull?.let { it.length } ?: 0
let 함수와 함께 사용하여 단일 표현식에서 null 검사를 수행하는 예제입니다.
단일 표현식 함수는 간결하면서도 읽기 쉬운 코드를 작성하는 데에 유용합니다. 특히 반환 값이 한 줄로 표현될 수 있는 간단한 함수에서 활용됩니다.
With ChatGPT