5. 함수 (Functions)
코틀린에서 함수는 fun 키워드로 선언합니다. 자바와 달리 파라미터에 기본값(Default arguments)을 지정할 수 있어 메서드 오버로딩(Overloading)을 여러 개 만들 필요가 없습니다.
또한 함수 본문이 단일 표현식일 경우, 중괄호와 return을 생략하고 = 등호를 사용해 매우 짧게 줄일 수 있습니다.
// 1. 기본 함수 선언 (파라미터명: 타입): 반환타입
fun sum(a: Int, b: Int): Int {
return a + b
}
// 2. 단일 표현식 함수 (중괄호와 return 생략 가능, 반환타입 추론됨)
fun multiply(a: Int, b: Int) = a * b
// 3. 기본값을 갖는 매개변수 (Default Arguments)
// 자바처럼 인자가 1개인 메서드, 2개인 메서드를 따로 만들 필요가 없습니다.
fun greet(name: String, message: String = "안녕하세요") {
println("$name 님, $message")
}
fun main() {
println("합계: " + sum(10, 20))
println("곱셈: " + multiply(5, 4))
greet("홍길동") // message는 기본값 사용
// 4. 이름 붙인 인자 (Named Arguments)
// 인자의 순서를 무시하고 이름을 명시하여 전달할 수 있어 가독성이 높습니다.
greet(message = "반갑습니다", name = "이순신")
}