다음 예제에서 파라미터는 모두 Int이며, 이름 붙은 인자를 써서 각각의 의미를 명확히 할 수 있다.

    NamedAndDefaultArgs/NamedArguments.kt

    package color1
    import atomictest.eq
    
    fun color(red: Int, green: Int, blue: Int) =
      "($red, $green, $blue)"
    
    fun main() {
      color(1, 2, 3) eq "(1, 2, 3)" // [1]
      color(
        red = 76,                   // [2]
        green = 89,
        blue = 0
      ) eq "(76, 89, 0)"
      color(52, 34, blue = 0) eq    // [3]
        "(52, 34, 0)"
    }

    [1] 이런 코드는 그다지 많은 정보를 전달하지 못한다. 각 인자의 역할을 알아내려면 함수 문서를 살펴봐야 한다.

    [2] 모든 인자의 의미가 명확하다.

    [3] 모든 인자에 이름을 붙이지 않아도 된다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.