개발/Kotlin
[코틀린] 코틀린 함수
윤호
2021. 12. 10. 16:32
코틀린 함수의 기본 구조
fun 함수명([변수명: 타입], ...): [반환 타입]{
...
}
fun sum(a: Int, b: Int): Int {
var sum = a + b
return sum
}
fun sum(a: Int, b: Int): Int = a + b
fun sum(a: Int, b: Int) = a + b
함수 반환값 생략
fun printSum(a: Int, b: Int): Unit{
println("sum of $a and $b is ${a+b}")
}
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a+b}")
}
반환값이 없을 경우 코틀린의 특수한 자료형인 Unit을 반환값으로 사용.
반환값의 타입이 없을 경우 코틀린이 자동으로 Unit이라고 추론함.
함수 매개 변수에 기본값 지정하기
fun main() {
defaultArgs() // 100 + 200
defaultArgs(200) // 200 + 200
}
fun defaultArgs(x: Int = 100, y: Int = 200) {
println(x + y)
}
매개변수 이름과 함께 함수 호출하기
fun main() {
namedParam(x = 200, z = 100) // y는 기본값
//namedParam(x = 300) // Error - z에 기본값도 없고 인자도 없으므로.
namedParam(z = 150) // Ok - x와 y는 기본값으로 지정됨
}
fun namedParam(x: Int = 100, y: Int = 200, z: Int) {
println(x + y + z)
}
매개변수의 개수가 고정되지 않은 함수 사용하기 - vararg
fun main() {
normalVarargs(1, 2, 3, 4) // 4개의 인자 구성
normalVarargs(4, 5, 6) // 3개의 인자 구성
}
fun normalVarargs(vararg counts: Int): Unit {
for (num in counts) {
print("$num ")
}
print("\\n")
}
reference : Doit! 코틀린 프로그래밍