본문 바로가기
쿤즈 Dev/Kotlin

[Kotlin] 함수의 사용(1): 간단하게 함수 만들고 사용하기

by :)Koon 2022. 5. 18.

코틀린을 사용하기 위해서 지난 포스팅에서는 변수를 선언하는 방법과 연산자를 사용하는 방법에 대해서 알아보았습니다.

이번 포스팅에서는 함수를 만들고 사용하는 방법에 대해서 알아볼게요.


함수의 모양

코틀린에서 함수를 정의하기 위해서는 아래와 같은 규칙이 필요합니다.

fun 함수이름 ( [변수: 자료형, ...] ): 반환 자료형 {
  ...
  [return 반환값]
}

가장 먼저 함수를 정의하기 위해서는 fun이라는 키워드가 필요합니다. 이 키워드를 입력하고 뒤에 함수 이름을 입력하면 됩니다. 함수 이름은 원하는 이름 아무거나 정할 수 있습니다. a 라고 입력해도 되고 abcd라고 입력해도 됩니다. 다만 코틀린에서 키워드로 사용중인 이름은 사용할 수 없으며 띄어쓰기도 사용할 수 없습니다.

 

다음은 괄호가 오는데 내부에 변수가 올 수도 있고 안 올수도 있습니다. 이렇게 정의한 변수들은 Parameter(매개변수)라고 부릅니다. 변수들은 변수의 이름:자료형과 같이 정의해야 합니다. 그리고 괄호가 끝나면 콜론(:)과 반환 자료형이 필요합니다.

 

반환 자료형이 있을 경우도 있고 없을 경우도 있습니다. 없는 경우에는 Unit이라는 키워드를 붙여주고 이게 따라서 내부에 return값 존재 유무가 결정됩니다.


함수 만들어보기(사칙연산)

사칙연산의 함수들을 한 번 만들어 볼게요.

package `03`

// 기본 함수 형태
fun sum(a: Int, b: Int): Int {
    return a + b
}

// return을 제거한 형태
fun sub(a: Int, b: Int): Int = a - b

// 반환 자료형 추론 형태
fun mul(a: Int, b: Int) = a * b
// 반환 자료형 추론 형태
fun div(a: Int, b: Int) = a / b

fun main() {
    val ret1 = sum(1, 3)
    val ret2 = sub(10, 5)
    val ret3 = mul(4, 2)
    val ret4 = div(9, 3)

    println(ret1)
    println(ret2)
    println(ret3)
    println(ret4)
}

위에서 알아봤듯이 기본적인 함수의 형태는 sum() 함수를 형태입니다. 하지만 코틀린에서는 return을 생각하는 방법이 있습니다. 바로 등호(=)를 사용하는 방법입니다. 이 방법이 sub() 함수입니다.

 

코틀린은 반환 자료형을 정하지 않으면 추론하여 자동으로 잡아줍니다. 따라서 mul(), div() 함수가 추론 자료형 형태입니다. 마지막 추론 형태의 함수 모양을 많이 사용하게 됩니다. 코드의 양도 줄일 수 있고 읽기에도 가장 좋은 형태가 됩니다.

 

그리고 main()도 역시 함수입니다. 이는 프로그램이 실제로 동작을 시작하는 메인함수라 부릅니다. 메인 함수 내에 프로그램은 순서대로 호출이 됩니다. 가장먼저 sum(1,3)을 호출하는데 이때 호출하는 1과 3을 우리는 Argument(인자)라고 부릅니다. 이렇게 함수가 호출되면 sum함수가 호출되고 a=1, b=3으로 대입되어 계산한 결과가 다시 메인의 ret1에 대입하게 됩니다.

 

그래서 결과는 아래와 같습니다.

4
5
8
3

이번 포스팅에서는 함수의 모양을 간단하게 보았고 프로그래밍을 통해서 어떻게 실행되는지 알아보았습니다. 가장 기본적인 내용인만큼 가장 중요한 부분이고 함수는 매우 많이 사용하기 때문에 필수적으로 알아두어야 합니다. 다음 포스팅에서는 매개변수에 다양한 자료형이 들어가는 함수를 만들어 보도록 하겠습니다. 도움이 되셨으면 합니다. 이상입니다.

댓글