Functions are first-class in Kotlin—default parameters, named arguments, and single-expression bodies reduce boilerplate compared to Java.
Basics
fun greet(name: String, prefix: String = "Hello"): String =
"$prefix, $name"
fun main() {
println(greet("Ada"))
println(greet(name = "Bob", prefix = "Hi"))
}
Important interview questions and answers
- Q: Default parameters?
A: Kotlin generates overloads for Java with@JvmOverloadswhen needed. - Q: Single-expression functions?
A: Use=body when the function is one expression—return type can be inferred.
Self-check
- How do you call a function with named arguments?
- What keyword starts a function declaration?
Tip: Add @JvmOverloads when Java callers need overloads for default parameters.
Interview prep
- Default parameters?
Reduce overloads; use @JvmOverloads for Java.
- Single-expression functions?
Use = body when one expression.