앱, 어플리케이션 만드는 법 - [Kotlin] 함수(Function) 개념
#주의#
이 글은 강의 글이 아닙니다.
틀린 부분, 깔끔하지 못한 부분 있을 수 있습니다.
지적해 주시면 저도 공부가 되고, 앞으로 이 글을 보실 분들에게도 도움이 될 거라 생각합니다.
함수(Function)란?
Kotlin에서 Function은 프로그램의 기능을 구현하기 위한 코드 블록입니다. Kotlin에서는 함수를 정의할 때 fun 키워드를 사용합니다. Java와 달리, Kotlin에서는 함수를 최상위 수준으로 정의할 수 있습니다. Function은 입력값을 받아 출력값을 반환하거나, 입력값 없이 작업을 수행할 수 있습니다. Kotlin에서는 다음과 같은 기능을 제공합니다.
Function 선언
Kotlin에서 Function을 선언하는 방법은 다음과 같습니다.
fun functionName(parameters: ParameterType): ReturnType {
// 함수 내용
return returnValue
}
위와 같이 fun 키워드를 사용하여 함수 이름을 선언하고, 괄호 안에 매개변수와 매개변수의 타입을 선언합니다. 함수 내용은 중괄호 안에 작성하며, 반환값은 return 키워드를 사용하여 지정합니다.
매개변수
Kotlin에서 Function의 매개변수는 다음과 같이 선언합니다.
fun functionName(param1: ParamType1, param2: ParamType2) {
// 함수 내용
}
위와 같이 함수 이름 뒤에 괄호 안에 매개변수를 콤마(,)로 구분하여 선언합니다.
변환값
Kotlin에서 Function의 반환값은 다음과 같이 선언합니다.
fun functionName(): ReturnType {
// 함수 내용
return returnValue
}
위와 같이 함수 이름 뒤에 반환값의 타입을 선언하고, 함수 내용에서 return 키워드를 사용하여 반환값을 지정합니다.
기본값
Kotlin에서 Function의 매개변수는 기본값을 지정할 수 있습니다.
fun functionName(param1: ParamType1 = defaultValue1, param2: ParamType2 = defaultValue2) {
// 함수 내용
}
위와 같이 매개변수 뒤에 등호(=)를 사용하여 기본값을 지정할 수 있습니다.
가변인자
Kotlin에서 Function의 매개변수는 가변인자를 지원합니다.
fun functionName(vararg params: ParamType) {
// 함수 내용
}
위와 같이 매개변수 앞에 vararg 키워드를 사용하여 가변인자를 지정할 수 있습니다.
Lambda
Kotlin에서 Function은 Lambda를 사용하여 간결하게 작성할 수 있습니다.
val lambdaFunction: (ParamType1, ParamType2) -> ReturnType = { param1, param2 ->
// 함수 내용
returnValue
}
위와 같이 변수 이름 뒤에 함수 타입을 선언하고, 등호(=)와 중괄호({}) 사이에 Lambda를 작성할 수 있습니다.
고차함수
Kotlin에서 Function은 고차함수를 지원합니다. 고차함수는 함수를 매개변수로 받거나, 함수를 반환하는 함수입니다.
fun higherOrderFunction(func: (ParamType1, ParamType2) -> ReturnType) {
// 함수 내용
func(param1, param2)
}
fun main() {
higherOrderFunction { param1, param2 ->
// 함수 내용
returnValue
}
}
위와 같이 함수 매개변수로 함수 타입을 지정하고, 함수 호출 시 Lambda를 작성하여 함수를 전달할 수 있습니다.
확장함수
Kotlin에서 Function은 확장 함수를 지원합니다. 확장 함수는 기존 클래스에 새로운 함수를 추가하는 기능입니다.
fun String.myExtensionFunction() {
// 함수 내용
}
fun main() {
val str = "Hello, Kotlin!"
str.myExtensionFunction()
}
위와 같이 기존 클래스 뒤에 점(.)을 찍고 새로운 함수를 작성하여 확장 함수를 선언할 수 있습니다. 이렇게 Kotlin에서는 다양한 기능을 제공하여 Function을 유연하게 활용할 수 있습니다.
'개발 이야기 > [Kotlin]' 카테고리의 다른 글
앱, 어플리케이션 만드는 법 - [Kotlin] 속성(Property) 개념 (20) | 2023.05.14 |
---|---|
앱, 어플리케이션 만드는 법 - [Kotlin] 메소드, 메서드(Method) 개념 (20) | 2023.05.14 |
앱, 어플리케이션 만드는 법 - [Kotlin] 클래스(Class) 개념 (15) | 2023.05.13 |
앱, 어플리케이션 만드는 법 - [Kotlin] 패키지(Package) 개념 (14) | 2023.05.13 |
앱, 어플리케이션 만드는 법 - [Kotlin] Java와 차이, 특징, 유사 개념 (3) | 2023.05.13 |
댓글