파게로그
[Basic] Default arguments and Named arguments 본문
Default Arguments
Kotlin에서는 함수를 선언할 때 파라미터에 디폴트 값을 설정할 수 있다. 함수가 호출될 때 인수가 전달되면 이러한 인수가 파라미터로 사용되지만, 인수가 전달되지 않으면 디폴트 값이 사용된다. 구체적으로는 다음과 같이 경우를 나누어볼 수 있다.
🙂 All arguments are passed
fun main(args: Array<String>) {
foo('y', 2)
}
fun foo(letter: Char = 'x', number: Int = 1) {
// ...
}
이 때에는 모든 인수가 전달되었으므로 foo
에서 letter
는 'y', number
는 2이다.
🙂 Not All arguments are passed
fun main(args: Array<String>) {
foo('y')
}
fun foo(letter: Char = 'x', number: Int = 1) {
// ...
}
오직 첫 번째의 인수만 전달되었으므로 foo
에서 letter
는 'y'를 사용하지만, number
는 디폴트 값인 1이다.
🙂 No arguments is passed
fun main(args: Array<String>) {
foo()
}
fun foo(letter: Char = 'x', number: Int = 1) {
// ...
}
인수가 하나도 전달되지 않았으므로 foo
에서 letter
는 디폴트 값인 'x', number
도 디폴트 값인 1이다.
Named Arguments
그런데 위와 같은 코드에서, 첫 번째 파라미터가 아닌 파라미터에 하나의 인수만 전달하는 것은 불가능하다. 이를 위해서 named argument가 필요하다. 이 때에는 인수의 순서가 중요하지 않다.
fun main(args: Array<String>) {
foo(number = 2)
}
fun foo(letter: Char = 'x', number: Int = 1) {
// ...
}
'콤퓨타 왕기초 > Kotlin' 카테고리의 다른 글
[OOP] OOP, Class and Objects (0) | 2021.06.10 |
---|---|
[Basic] Tail Call, Tail Recursion (0) | 2021.06.10 |
[Basic] Infix Function Call (0) | 2021.06.09 |
[Basic] functions (0) | 2021.06.08 |
[Basic] for, while, iterate through range, break, continue (0) | 2021.06.08 |
Comments