Language/Kotlin In Action

[Kotlin In Action] 함수

by Donghwan 2021. 4. 13.

코틀린 함수의 특징

  • fun를 키워드를 사용하여 함수를 정의합니다.
  • 파라미터 이름 뒤에 파라미터의 타입을 작성합니다.
  • 함수를 최상위 수준에 정의 할 수 있습니다. 자바처럼 꼭 클래스 안에 함수를 넣을 필요가 없습니다.
  • 배열도 일반적인 클래스와 마찬가지입니다. 자바와 달리 배열 처리를 위한 문법이 따로 존재하지 않습니다.
  • println과 같은 래퍼 함수를 제공합니다.
  • 줄 끝에 세미콜론을 붙이지 않아도 됩니다.
  • 식이 본문인 함수, 블록이 본문인 함수 두가지가 될 수 있습니다.
  • 식이 본문인 함수의 반환 타입만 생략이 가능합니다. 블록이 본문인 함수는 반환타입을 지정해야 합니다.
  • 블록이 본문인 함수의 경우 Unit 타입의 경우 반환타입이 생략 가능합니다.
  • 식이 본문인 함수의 경우 굳이 반환 타입을 지정해 주지 않아도 컴파일러가 함수 본문 식을 분석해서 식의 결과 타입을 함수 반환 타입으로 추론합니다.

코틀린 함수 정의 방법

블록이 본문인 함수

//선언 방법
fun 함수명(파라미터1: 자료형, 파라미터2: 자료형): 반환타입 {
    return 반환값
}
//반환 타입이 Unit인 경우 반환타입 생략이 가능합니다.
fun print(str: String): Unit {
    print(str)
}

fun print(str: String) {
    print(str)
}

식이 본문인 함수

//식이 본문인 함수는 컴파일러가 함수 본문 식을 분석해서 타입을 추론합니다.
fun 함수명(파라미터1: 자료형, 파라미터2: 자료형) = 반환값

fun 함수명(파라미터1: 자료형, 파라미터2: 자료형): 반환타입 = 반환값

 

[출처 : Kotlin in Action]

728x90
반응형

'Language > Kotlin In Action' 카테고리의 다른 글

[Kotlin In Action] 인터페이스  (0) 2021.04.22
[Kotlin In Action] 가변 인자  (0) 2021.04.22
[Kotlin In Action] 확장함수  (0) 2021.04.21
[Kotlin In Action] 문자열 템플릿  (0) 2021.04.13
[Kotlin In Action] 변수  (0) 2021.04.13

댓글