Menu
Coddy logo textTech

명명된 인수

Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 58번째.

여러 매개변수가 있는 함수를 호출할 때는 일반적으로 매개변수가 정의된 정확한 순서대로 인수를 전달합니다. 하지만 Kotlin은 더 깔끔한 대안인 명명된 인수를 제공합니다.

명명된 인수를 사용하면 매개변수 이름 뒤에 =을 사용하여 각 값이 어느 매개변수에 속하는지 지정합니다:

fun createProfile(name: String, age: Int, city: String) {
    println("$name, $age, from $city")
}

fun main() {
    createProfile(name = "Alice", age = 25, city = "Paris")
}
// 출력: Alice, 25, from Paris

이렇게 하면 코드를 더 읽기 쉽게 만들 수 있으며, 특히 함수에 같은 타입의 매개변수가 여러 개 있을 때 유용합니다. 다음 두 호출을 비교해 보세요:

// 명명된 인수 없이 - 이 숫자들은 무엇을 의미하나요?
calculateArea(10, 5, 3)

// 명명된 인수와 함께 - 훨씬 더 명확합니다!
calculateArea(length = 10, width = 5, height = 3)

이름 있는 인수를 사용하면 원하는 순서대로 값을 전달할 수도 있습니다:

fun greet(firstName: String, lastName: String) {
    println("Hello, $firstName $lastName!")
}

fun main() {
    greet(lastName = "Smith", firstName = "John")
}
// 출력: Hello, John Smith!

위치 인수와 이름 있는 인수를 함께 사용할 수 있지만, 이름 있는 인수를 한 번 사용한 후에는 혼동을 피하기 위해 뒤따르는 모든 인수에도 이름을 지정해야 합니다.

challenge icon

챌린지

중급

다음 함수가 주어집니다:

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

세 가지 입력을 읽습니다: 책 제목(String), 작가 이름(String), 출판 연도(Int).

명명된 인수를 사용하여 다음과 같은 특정 순서로 formatBook 함수를 호출하세요: year, title, author.

예를 들어 입력이 다음과 같다면:

1984
George Orwell
1949

출력은 다음과 같아야 합니다:

"1984" by George Orwell (1949)

직접 해보기

fun formatBook(title: String, author: String, year: Int) {
    println("\"$title\" by $author ($year)")
}

fun main() {
    val title = readLine()!!
    val author = readLine()!!
    val year = readLine()!!.toInt()
    
    // TODO: named arguments를 사용하여 다음 순서로 formatBook을 호출하세요: year, title, author
    
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드