코틀린 함수의 특징
- 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 |
댓글