Kotlin/포스팅

코틀린 디폴트 값

짜집퍼박사(짜박) 2023. 12. 17. 20:56

코틀린에서 함수에 디폴트 값(Default Value)을 지정할 수 있습니다. 디폴트 값은 함수를 호출할 때 해당 매개변수에 값을 명시적으로 전달하지 않아도 되게 합니다. 이는 함수를 더 유연하게 사용할 수 있게 하고, 오버로딩의 필요성을 줄여줍니다.

디폴트 값을 가진 함수를 정의하는 방법과 사용하는 방법에 대해 알아보겠습니다.

 

1. 디폴트 값 지정

디폴트 값을 가진 함수는 함수 정의 시 매개변수에 직접 값을 할당하여 지정할 수 있습니다.

fun greet(name: String, greeting: String = "Hello") {
    println("$greeting, $name!")
}

 

2. 디폴트 값 사용

디폴트 값을 가진 함수를 호출할 때 해당 매개변수에 값을 전달하지 않으면 디폴트 값이 자동으로 사용됩니다.

greet("Alice") // 출력: Hello, Alice!
greet("Bob", "Hi") // 출력: Hi, Bob!

 

3. 여러 매개변수에 디폴트 값 사용

여러 매개변수에 각각 디폴트 값을 지정할 수 있습니다.

fun printInfo(name: String = "Guest", age: Int = 25, city: String = "Unknown") {
    println("Name: $name, Age: $age, City: $city")
}

 

4. 디폴트 값과 오버로딩

디폴트 값을 가진 함수를 오버로딩할 수 있습니다.

fun greet(name: String, greeting: String = "Hello") {
    println("$greeting, $name!")
}

fun greet(name: String, age: Int, greeting: String = "Hello") {
    println("$greeting, $name! Age: $age")
}

 

5. 디폴트 값의 위치

디폴트 값을 갖는 매개변수는 함수 시그니처의 끝에 위치해야 합니다. 즉, 매개변수 중간에 디폴트 값을 갖는 매개변수를 두는 것은 허용되지 않습니다.

// 올바른 예
fun example1(a: Int, b: Int = 0, c: Int = 1) { /* ... */ }

// 오류: 디폴트 값을 갖는 매개변수는 함수 시그니처의 끝에 위치해야 함
fun example2(a: Int = 0, b: Int, c: Int = 1) { /* ... */ }

 

디폴트 값을 갖는 매개변수를 사용하면 함수 호출 시 명시적인 인자 전달을 생략하고 간결한 코드를 작성할 수 있습니다. 디폴트 값은 함수의 유연성을 높이고 코드의 가독성을 향상시키는 데에 도움을 줍니다.

 

With ChatGPT

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

코틀린 함수의 영역  (0) 2023.12.23
코틀린 가변인자 vararg 키워드  (0) 2023.12.17
코틀린 오버로딩  (0) 2023.12.17
코틀린 위치 기반 인자와 이름 붙은 인자  (0) 2023.12.17
코틀린 확장 함수  (0) 2023.12.17