더북(TheBook)

이름 붙은 인자는 디폴트 인자(default argument)와 결합하면 더 유용하다. 디폴트 인자란 파라미터의 디폴트 값을 함수 정의에서 지정하는 것을 말한다.

NamedAndDefaultArgs/Color2.kt

package color2
import atomictest.eq

fun color(
  red: Int = 0,
  green: Int = 0,
  blue: Int = 0,
) = "($red, $green, $blue)"

fun main() {
  color(139) eq "(139, 0, 0)"
  color(blue = 139) eq "(0, 0, 139)"
  color(255, 165) eq "(255, 165, 0)"
  color(red = 128, blue = 128) eq
    "(128, 0, 128)"
}

함수 호출 시 값을 지정하지 않은 인자는 자동으로 디폴트 값으로 지정된다. 따라서 디폴트 값과 다른 인자만 지정하면 된다. 인자 목록이 긴 경우, 디폴트 인자를 생략하면 코드를 짧게 작성할 수 있으므로 코드 작성이 쉬워진다. 더 중요한 건 코드의 가독성도 좋아진다는 점이다.

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