공부/이펙티브코틀린

아이템 34 - 기본 생성자에 이름 있는 옵션 아규먼트를 사용하라

띵커베르 2024. 7. 11. 20:23
728x90
  1. 이름 있는 아규먼트(named arguments):
    • 함수나 생성자를 호출할 때, 각 파라미터의 이름을 명시하여 값을 전달하는 방법입니다.
    • 이 방법을 사용하면 코드의 가독성이 높아지고, 어떤 값이 어떤 파라미터에 전달되는지 명확해집니다.
  2. 기본 값(default values):
    • 함수나 생성자의 파라미터에 기본 값을 제공하여, 호출 시 해당 값을 생략할 수 있게 합니다.
    • 이를 통해 불필요한 오버로드(overload)를 줄이고, 코드의 간결성을 유지할 수 있습니다.
//이름 있는 아규먼트
fun createUser(name: String, age: Int, email: String) {
    println("Name: $name, Age: $age, Email: $email")
}

fun main() {
    // 이름 있는 아규먼트를 사용하지 않는 경우
    createUser("Alice", 30, "injin@example.com")
    
    // 이름 있는 아규먼트를 사용하는 경우
    createUser(name = "Bob", age = 25, email = "injin@example.com")
}

// 기본 값
fun createUser(name: String, age: Int = 0, email: String = "unknown@example.com") {
    println("Name: $name, Age: $age, Email: $email")
}

fun main() {
    // 모든 파라미터를 제공하는 경우
    createUser("Alice", 30, "injin@example.com")
    
    // 일부 파라미터만 제공하는 경우
    createUser("Bob")
    
    // 이름 있는 아규먼트와 함께 사용하는 경우
    createUser(name = "Charlie", email = "injin@example.com")
}
728x90