3.1.1 코틀린 함수의 구조
간단한 예부터 시작해보자. 반지름이 주어졌을 때 원의 넓이를 계산하는 함수를 정의해보겠다.
import kotlin.math.PI fun circleArea(radius: Double): Double { return PI*radius*radius } fun main() { print("Enter radius: ") val radius = readLine()!!.toDouble() println("Circle area: ${circleArea(radius)}") }
여기서 표준 상수 PI를 썼다. 이 값은 π의 근삿값을 표현하며, import 디렉티브를 사용해야 kotlin.math.PI라는 전체 이름이 아니라 PI라는 간단한 이름으로 이 값을 사용할 수 있다.
이제 circleArea 함수를 구성하는 요소를 자세히 살펴보자.
• (함수라는 뜻의 영어 단어 function에서 온) fun 키워드는 컴파일러에게 함수 정의가 뒤따라온다는 사실을 알려준다.
• 변수 이름과 마찬가지로 아무 식별자나 함수 이름으로 쓸 수 있다(여기서는 circleArea를 썼다).
• 다음에는 괄호로 둘러싸여 있는 콤마(,)로 분리한 파라미터 목록이 온다. 파라미터 목록은 함수를 호출할 때 넘길 수 있는 데이터를 컴파일러에게 알려준다.
• 반환 타입(여기서는 Double)은 함수를 호출한 쪽에 돌려줄 반환값의 타입이다.
• 함수 본문(body)은 {}로 감싼 블록이며, 함수의 구현을 기술한다.