함수(function)


기본 형태 (Basic syntax)


 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;



멤버 함수 (Member function)


 멤버 함수는 클래스(or object) 내에 정의된 함수입니다.


 class Date() {

   fun getDate() {

    println("2017/12/12")

  }

 }


 getDate()가 Date 클래스 내에 정의된 멤버 함수입니다. 멤버 함수는 다음과 같이 .(dot) 을 이용하여 호출할 수 있습니다.


 Date().getDate()



+ Recent posts