Files
kotlin-examples/Writerside/topics/Function.md
2024-06-21 15:01:25 +09:00

1.2 KiB

함수

fun functionName(p1: Type1, p2: Type2, ...): ReturnType {
  ...
  return result
}
fun sum(a: INt, b: Int): Int {
    return a + b
}

함수 선언은 fun으로 시작합니다.

그 뒤에 함수 이름을 명시하고, 매개변수를 나열합니다. 각각의 매개변수 이름 뒤에 자료형을 써줍니다. 그리고 반환형의 자료형을 명시합니다.

fun sum(a:Int, b:Int) = a + b

함수의 바디는 블럭 대신 표현식이 될 수도 있습니다.

반환형이 추론 가능한 경우에는 생략할 수도 있습니다.

fun printSum(a:Int, b:Int): Unit {
    println(a + b)
}
fun printSum(a:Int, b:Int) {
    println(a + b)
}

반환 값이 없는 함수의 리턴 타입으로 Unit을 사용합니다. 물론, Unit 타입은 생략할 수 있습니다.

함수의 매개변수는 기본값을 가질 수 있습니다.

fun read(
    b: ByteArray,
    offset: Int = 0,
    length: Int = b.size
){
    // ...
}

전달하는 매개 변수를 명시해야 할 수도 있습니다.

fun foo(
    bar: Int = 0,
    baz: Int
) {
    // ...
}
foo(baz = 1)

Function 타입

람다

인라인 함수

연산자 오버로딩