1 Functions
- 코틀린의 함수는
fun키워드를 사용해 함수를 정의합니다. - 파라미터 이름 뒤에 그 파라미터의 타입을 명시합니다.
- 함수를 최상위 수준에 정의할 수 있습니다.
- 꼭 클래스 안에 함수를 넣어야 할 필요가 없습니다.
- 이를
최상위 함수라고 합니다.
- 함수의 반환 타입은 파라미터 목록을 닫는 괄호 다음에 콜론과 함께 위치합니다.
예시
fun double(x: Int): Int {
return 2 * x
}
2 expression이 본문인 함수
2.1 expression과 statement의 차이
- 식(expression)은
값을 만들어내며 다른 식의 하위 요소로 계산에 참여할 수 있습니다. - 문(statement)은 자신을 둘러싸고 있는 가장 안쪽 블록의 최상위 요소로 존재하며
아무런 값을 만들어내지 않는다.- 식(expression)과의 차이점은 값을 만들어내지 않는다는 점입니다.
- 자바에서는 모든 제어 구조가 문인 반면에 코틀린에서는 루프를 제외한 모든 제어 구조가 식입니다.
2.2 블록이 본문인 함수(Explicit return types)
- 레퍼런스
- 코틀린 에서 if 문은 expression(식)입니다.
- 아래는
블록이 본문인 함수(block body function)라고 합니다.- 본문이 중괄호로 둘러싸인 함수를 의미합니다.
- 블록이 본문인 함수는 반환 타입을 명시적으로 지정해야 합니다.