함수를 다루는 방법

parkrootseok·2025년 7월 30일
0
post-thumbnail

함수 선언 문법

Kotlin에서는 함수가 하나의 결과값을 반환하는 경우, 아래 예시와 같이 블록({ .. })를 제거하고 =를 대신 사용할 수 있습니다.

위와 같이 형태의 함수는 반환값의 타입이 명확한 경우 반환 타입을 생략할 수 있으며 if-else문의 중괄호도 생략 가능합니다. 예시는 아래와 같습니다.

Default Parameter

Kolit에서는 Parameter에 기본값을 설정할 수 있습니다. 문자열을 반복 출력하는 함수를 예시로 이를 어떻게 활용할 수 있는지 살펴보겠습니다.

우선, 아래와 같이 메시지와 반복 횟수 그리고 개행 추가 여부를 받는 문자열 반복 함수가 존재합니다.

이 함수를 호출할 때 높은 비율로 반복 횟수를 3, 개행 추가 여부를 true로 사용하는 상황이라면 매번 이를 입력해주는 것은 불편할 수 있습니다. Java에서는 이를 Overloading을 통해 아래와 같이 해결할 수 있습니다.

하지만, 3개의 함수를 만드는 것은 조금 비효율적이라 생각이 들 수 있습니다. Kotlin은 아래와 같이 기본값을 활용하여 Parameter가 전달되지 않을 경우 기본적으로 사용할 값을 지정할 수 있습니다. 이를 활용하여, 1개의 함수만으로 동일한 기능을 더욱 간단하게 구현할 수 있습니다.

그리고 활용 예시를 보여주기 위해 기본값을 사용했지만, Kotlin도 Java와 동일하게 Overloading 기능을 지원합니다.

Named Argument

Kotlin은 Named Argument를 지원하기에 Parameter를 명시하여 값을 지정할 수 있습니다. 이 기능은 Parameter를 명시하여 값을 주입하는 방식이므로 Builder를 직접 만들지 않고도 Builder의 장점을 가질 수 있습니다. 단, Java 코드로 작성된 함수를 호출할 경우 기능을 활용할 수 없습니다.

활용 예시는 아래와 같습니다.

가변 인자

Kotlin에서 Java와 달리 가변 인자를 사용하기 위해선 vararg 키워드를 인자명 옆에 명시하고, 배열을 바로 인자로 전달할 수 없고 반드시 스프레드 연산자(*)를 명시해야 합니다. 예시는 아래와 같습니다.

profile
동료들의 시간과 노력을 더욱 빛내줄 수 있는 개발자가 되고자 노력합니다.

0개의 댓글