빠르게 살펴보기
Java 함수의 기본 형태
void 함수명(변수) {
}
or
리턴타입 함수명(변수) {
return 값;
}
코틀린 함수의 기본 형태
fun 함수명(변수): Unit {
}
or
fun 함수명(변수): 리턴타입 {
return 값
}
코틀린에서는 return 하지 않는 함수(void 함수)에 선언한 리턴타입 Unit은 생략이 가능합니다.
리턴타입을 가지는 기본 형태를 그대로 활용하여 두 수의 합을 리턴하는 간단한 예제를 하나 만들 수 있습니다.
Java
int sum(int a, int b) {
return a + b;
}
코틀린
fun sum(a: Int, b: Int): Int {
return a + b
}
이때 코틀린의 코드는 좀 더 생략이 가능합니다.
먼저 리턴값이 a + b 인데 이때 함수에서 return을 생략하고 다음과 같이 사용할 수 있습니다.
fun sum(a: Int, b: Int): Int = a + b;
이때 a + b의 타입이 Int인 것을 유추할 수 있기 때문에 리턴타입도 생략이 가능합니다.
fun sum(a: Int, b: Int) = a + b;
멤버 함수는 클래스(or object) 내에 정의된 함수입니다.
class Date() {
fun getDate() {
println("2017/12/12")
}
}
getDate()가 Date 클래스 내에 정의된 멤버 함수입니다. 멤버 함수는 다음과 같이 .(dot) 을 이용하여 호출할 수 있습니다.
Date().getDate() // Date 클래스의 instance를 만들고 getDate를 호출