Kotlin/포스팅

기본적인 함수의 특징

짜집퍼박사(짜박) 2023. 12. 13. 23:50

코틀린에서 함수를 정의하는 방법과 기본적인 함수의 특징에 대해 알아보겠습니다.

 

1. 기본 함수 정의

코틀린에서 함수는 fun 키워드를 사용하여 정의됩니다. 아래는 간단한 함수의 예제입니다.

fun greet(name: String): String {
    return "Hello, $name!"
}

-  fun: 함수를 정의하는 키워드입니다.
-  greet: 함수의 이름입니다.
-  (name: String): 매개변수 목록입니다.
-  : String: 반환 타입입니다.
-  { return "Hello, $name!" }: 함수의 본문입니다.

 

2. 단일 표현식 함수

함수의 본문이 단일 표현식인 경우 중괄호 {}를 생략할 수 있습니다.

fun greet(name: String): String = "Hello, $name!"

또는 타입 추론을 활용하여 더 간단하게 표현할 수도 있습니다.

fun greet(name: String) = "Hello, $name!"

 

3. 기본 값이 있는 매개변수

매개변수에 기본 값을 설정하여 선택적으로 사용할 수 있습니다.

fun greet(name: String = "Guest"): String {
    return "Hello, $name!"
}

 

4. 가변 인자 함수

가변 인자를 사용하여 임의의 개수의 인자를 받을 수 있습니다.

fun sum(vararg numbers: Int): Int {
    return numbers.sum()
}

 

5. 고차 함수 (Higher-order Function)

다른 함수를 매개변수로 받거나 함수를 반환할 수 있는 고차 함수를 정의할 수 있습니다.

fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}

 

6. 로컬 함수

함수 내에서 다른 함수를 정의하여 사용할 수 있습니다.

fun calculate() {
    fun add(a: Int, b: Int): Int = a + b
    fun subtract(a: Int, b: Int): Int = a - b

    val result = add(10, 5) + subtract(20, 8)
    println("Result: $result")
}

 

7. 익명 함수

익명 함수를 사용하여 함수를 변수에 할당할 수 있습니다.

val square: (Int) -> Int = fun(x: Int): Int {
    return x * x
}

 

8. 확장 함수 (Extension Function)

기존 클래스에 새로운 함수를 추가할 수 있는 확장 함수를 정의할 수 있습니다.

fun String.addExclamation(): String {
    return "$this!"
}

이러한 기본 함수 정의 기법들을 활용하여 코드를 간결하고 유지보수 가능하게 만들 수 있습니다. 함수는 코틀린에서 핵심적인 개념 중 하나이며, 함수형 프로그래밍의 특징도 코틀린에서 잘 지원되고 있습니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 고차 함수  (0) 2023.12.17
코틀린 단일 표현식 함수  (0) 2023.12.16
코틀린 함수  (0) 2023.12.10
코틀린 배열 사용  (0) 2023.12.10
코틀린 가변 배열  (0) 2023.12.10