코틀린 함수의 기본 구조
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! 코틀린 프로그래밍
'개발 > Kotlin' 카테고리의 다른 글
[코틀린] 함수형 프로그래밍 - 고차 함수, 람다식 (0) | 2021.12.10 |
---|---|
[코틀린] 변수와 자료형, Null 처리 (0) | 2021.12.08 |
코틀린(Kotlin) 스터디 4 - 클래스(Class), 상속(Inheritance) (0) | 2020.01.19 |
코틀린(Kotlin) 스터디 3 - Nullable, 예외처리, 함수 (0) | 2020.01.13 |
코틀린(Kotlin) 스터디 2 - Array, Collection(List, Set, Map) (0) | 2020.01.12 |
댓글