Параметры могут иметь значения по умолчанию; вызов может указывать имена — порядок не обязателен, API читаемее.
Разбор
- Уменьшают перегрузки методов.
draw(width = 10, height = 20).
- Бинарная совместимость: осторожно менять defaults в library API.
@JvmOverloads генерирует overloads для Java.
Пример
fun connect(host: String, port: Int = 443, tls: Boolean = true)
Итог
Default + named args — идиома чистых вызовов без builder-boilerplate.