언어/Kotlin

[Kotlin] 코틀린 살짝 맛보기 - 함수

JJangGu 2022. 7. 20. 23:08

다음은 함수 사용입니다. 코드를 짜다 보면 가장 많이 자바와 다른게 체감되는 부분입니다. 

 

private fun functionName(name: String, age: Int): String {

}

 

형태를 먼저 적어봤습니다. 자바로 표현하면 아래와 같은 형태일겁니다.

 

private String functionName(String name, int age) {

}

 

fun 이라는 키워드를 통해서 함수를 선언하고, 반환 타입의 위치도 다릅니다. 

사실 여기까지의 문법만 적응된다면 나머지는 자바와 크게 다르지 않습니다. 

 

private fun functionName(
    name: String = "짱구", 
    age: Int = 10
): String {

}

 

하지만 이런모양은 어떤가요? 매개변수의 기본값을 이렇게 할당 할 수 있습니다. 이점은 굉장히 편리했습니다.

또 재밌는 점은 함수를 호출할때 매개변수의 이름을 사용할 수 있다는 점입니다.

 

functionName(name = "신짱구", age = 7)

이렇게 어떤 매개변수에 어떤 값을 넣을 것인지 명시적으로 표현할 수 있습니다. 

이점은 꼭 Builder 패턴과 비슷한 코드를 만들 수 있게 해줍니다. 지금은 함수에서 Builder 라는 표현을 써서 어색할 수 있지만, 생성자에서도 마찬가지입니다. 매개변수명을 명시해준다면 순서가 바뀌어도 괜찮습니다.

 

그리고 표현식을 활용할 수도 있습니다. 

 

fun max(a: Int, b: Int) = if (a > b) a else b

 

이런식의 표현이 가능하죠. 

 

이외에도 인라인 함수, 단축 문법 등등 여러가지가 있지만 지금은 맛보기로 잠깐 보여주는거라고 생각하시면 되겠습니다 👍