[Android] 3(6). 코틀린 기본 문법(함수)

1 minute read

함수

코틀린에서 함수는 fun으로 정의하고 return으로 값을 반환합니다.

함수는 코드를 (재)사용할 수 있는 최소 단위입니다. 코틀린은 함수 지향형 프로그래밍 언어이기 때문에 더욱 중요합니다.


1. 함수의 정의


  • 함수의 기본 구조

    fun 함수명(파라미터 이름: 타입): 반환 타입{
        return 
    }
    

    파라미터와 반환 값은 없을 수도 있습니다.


👍 예제

반환값과 입력값이 있는 함수의 정의

fun square(x:Int):Int{
    return x * x
}


반환값이 없는 함수의 정의

fun printSum(x:Int, y:Int){
    Log.d("fun", "x + y = ${x+y}")
}


입력값 없이 반환값만 있는 함수의 정의

fun getPi():Double{
    return 3.14
}



2. 함수의 사용


함수의 사용은 이름 뒤에 괄호를 붙여서 명령어를 실행하는 형태입니다.

함수명()


👍 예제

반환값과 입력값이 있는 함수의 정의

var squareResult = square(30)


반환값이 없는 함수의 정의

printSum(3,5)

반환값이 없으면 대입 연산자(=)를 사용하지 않고 바뢰 호출해서 실행합니다.


입력값 없이 반환값만 있는 함수의 정의

val PI = getPi()

입력값이 없다면 괄호만으로 실행하고 결괏값을 받을 수 있습니다.



3. 함수 파라미터의 정의


파라미터는 변수를 정의할 때와 마찬가지로 ‘이름: 타입’ 형태로 정의되며, 여러 개의 파라미터가 정의될 경우는 콤마로 구분합니다.

코틀린에서 함수 파라미터를 통해 입력되는 모든 값은 변하지 않는 이뮤터블입니다. 따라서 코틀린에서의 함수 파라미터는 모두 읽기 전용 키워드 val이 생략된 형태라고 생각할 수 있습니다.

fun 함수명((val 생략)name1: String, name2: Int, name3: Double){실행 코드}


👍 예시

파라미터의 기본값 정의와 호출

파라미터는 정의할 때 등호(=)를 사용해서 인자를 전달 받지 못한 경우 기본값을 사용하도록 정의할 수 있습니다.

  • 함수 정의
fun newFunction(name: String, name2: age=157, weight: Double){실행 코드}
  • 함수 호출
newFunction("Michael")


기본값을 사용할 경우 호출 시 전달하는 값의 의미가 명확하지 않을 수 있습니다.

이럴 경우 순서와 상관없이 정의된 파라미터 이름을 지정해서 직접 값을 입력할 수 있습니다.

newFunction("Michael", weight = 67.5)



Categories:

Updated:

Leave a comment