Develop!/Kotlin

함수 in Kotlin

체리필터 2023. 7. 14. 11:42
728x90
반응형

함수는 학교 수학 시간에 배우는 것 처럼 무엇인가 내부적으로 로직을 처리하는 것을 말한다.

Kotlin에서도 함수를 사용할 수 있다. 아래와 같은 코드를 보고 하나씩 분석해 보자

fun main() {
    val r = multiplyByTwo(5)
    println(r)
    println(multiplyByThree(5))
    println(multiplyByFour(5))

    sayHello()
    sayGoodBye()
}

fun multiplyByTwo(i: Int): Int {
    println("Inside multiplyByTwo")
    return i * 2
}

fun multiplyByThree(i: Int): Int = i * 3
fun multiplyByFour(i: Int) = i * 4

fun sayHello() {
    println("Hello")
}

fun sayGoodBye(): Unit {
    println("good bye")
}

우선 함수에 반환형을 적을 수 있다.

Java에서는 메소드명(함수명) 전에 반환형을 적는데, Kotlin에서는 ':'을 적고 나서 그 뒤에 적는다. 전반적으로 이 형태르 사용하는 것 같다.

함수의 본문이 하나의 식으로만 이뤄져 있다면 multiplyByThree, multiplyByFour 처럼 바로 작성할 수 있다.

둘 간의 차이는 반환형을 명시 했느냐, 아니냐의 차이이다. 반환형을 명시하지 않는다 하더라도 Kotlin은 반환형을 추론해서 동작한다.

 

다음으로 볼 것은 sayHello, sayGoodBye 함수인데, 두 함수 모두 반환값이 없다.

Java에서는 반환 값이 없을 경우에는 void라는 예약어를 사용하는데, Kotlin에서는 반환값을 생략하거나 Unit 이라고 적어주면 된다.

위의 코드를 실행한 결과는 아래와 같다.

 

 

728x90
반응형

'Develop! > Kotlin' 카테고리의 다른 글

for loop in kotlin  (0) 2023.07.21
String Template in Kotlin  (0) 2023.07.19
Data Type in Kotlin  (0) 2023.07.14
var and val  (0) 2023.07.13
Hello World for Kotlin  (0) 2023.07.13