memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

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

 

Kotlin

 

관련 글

2021/03/01 - [Language/Kotlin] - Kotlin - 코틀린 시작하기 (Hello World)

 

Kotlin - 코틀린 시작하기 (Hello World)

Hello World fun main() { println("Hello Kotlin") } 표준 출력을 위해 println() 메소드를 이용한다. 세미콜론을 사용하지 않아도 된다. Kotlin 1.3 버전부터는 매겨변수없이 main() 메소드를 작성할 수 있다. f..

memostack.tistory.com

2021/03/03 - [Language/Kotlin] - Kotlin - 함수2 (Infix, Operator functions, varargs)

 

Kotlin - 함수2 (Infix, Operator functions, varargs)

Infix Functions (중위 함수) 중위 함수를 생성할 때는 infix fun 예약어를 사용한다. fun main() { // Infix 함수 정의 infix fun Int.times(message: String) = message.repeat(this) // 'Bye' 를 2번 반복해서..

memostack.tistory.com

 

 

Reference

play.kotlinlang.org/byExample/01_introduction/02_Functions

 

Kotlin Playground: Edit, Run, Share Kotlin Code Online

 

play.kotlinlang.org

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!