더북(TheBook)

다음 예제에서 파라미터는 모두 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] 모든 인자에 이름을 붙이지 않아도 된다.

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