블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
Kotlin function
코틀린에서 함수를 생성할 때는 fun
키워드를 사용한다.
fun main(args: Array<String>) {
printMessage("World")
printMessage("Kotlin")
}
fun printMessage(message: String): Unit {
println("Hello, $message")
}
Hello, World
Hello, Kotlin
message 라는 문자열 매개변수를 받아서 콘솔에 출력하는 메소드.
Unit
은 Java의 void와 비슷한 역할을 한다. Unit을 return 한다는 것은 '반환값이 없다'는 뜻
위 메소드처럼 한 줄로 끝나는 경우, 아래처럼 메소드를 작성할 수 있다
fun printMessage2(message: String): Unit = println("Hello, $message")
다른 예시. Int 타입 반환 함수
두 개의 정수형 숫자를 받아, 더한 값을 반환하는 메소드
fun main() {
println(sum(1, 3))
println(sum2(1, 3))
}
fun sum(x:Int, y:Int) = x + y
fun sum2(x:Int, y:Int): Int {
return x + y
}
- sum()과 같이 한 줄로 끝나는 경우 간결하게 작성할 수 있다.
- 반환 타입을 생략해서 작성했는데, 코틀린에서는 타입 추론을 통해 타입을 알 수 있기 때문에, 타입을 작성하지 않고 생략할 수 있다
Default Parameter values
Kotlin에서는 파라미터를 넣지 않더라도 기본값을 가지도록 할 수 있다
fun main() {
printMessageWithPrefix("Hello, Kotlin!")
printMessageWithPrefix("Hello, Kotlin!", "Warn")
}
fun printMessageWithPrefix(message: String, prefix: String = "Info"): Unit {
println("[$prefix] $message")
}
[Info] Hello, Kotlin!
[Warn] Hello, Kotlin!
- prefix는 Info 라는 값을 접두어로 가지기 때문에 입력해도 되고 입력안해도 됨
- 만약 입력하지 않는다면, Info를 기본값으로 가짐
- 입력한다면, 입력한 값으로 값이 결정됨
Named Arguments
argument의 이름을 함께 작성해주면, argument를 순서를 상관없이 넣을 수 있다.
fun main() {
printMessageWithPrefix("Hello", "Info")
printMessageWithPrefix(prefix = "Warn", message = "Hello") // 순서 상관없음
}
fun printMessageWithPrefix(message: String, prefix: String = "Info"): Unit {
println("[$prefix] $message")
}
[Info] Hello
[Warn] Hello
관련 글
2021/03/01 - [Language/Kotlin] - Kotlin - 코틀린 시작하기 (Hello World)
2021/03/03 - [Language/Kotlin] - Kotlin - 함수2 (Infix, Operator functions, varargs)
Reference
play.kotlinlang.org/byExample/01_introduction/02_Functions
반응형
'Language > Kotlin' 카테고리의 다른 글
Kotlin - 함수2 (Infix, Operator functions, varargs) (0) | 2021.03.03 |
---|---|
Kotlin - 코틀린 시작하기 (Hello World) (0) | 2021.03.01 |