코틀린(Kotlin)도 다른 언어와 동일하게 함수를 사용할 수 있습니다.
코틀린에 가장 큰 함수 특징은 일급 객체로 사용이 가능합니다.
일급 객체는 일반적인 함수 형식과 엔티티로 적용하여 변수로 바로 사용이 가능하다.
함수 기본 형식은 (함수명) -> 반환 형식으로 되어 있습니다.
fun MakeString(mes : String): String{
return mes + " Create Message"
}
MakeString 함수는 mes String 매개변수를 받아서 String으로 반환합니다.
println(MakeString("함수 사용"))
println 함수를 사용해서 출력합니다.
출력 결과 입력된 "함수 사용" 뒤에 메시지가 추가되었습니다.
일반적인 함수는 함수를 만들어서 호출할 수 있습니다.
코틀린(Kotlin) 함수는 이런 함수를 변수 처럼 정의할 수 있습니다.
var MString:(String) -> String = fun(mes:String) = mes + " Create Message 2"
변수 MString에 함수를 직접 선언할 수 있습니다.
println(MakeString("함수 사용"))
println(MString("변수 함수 사용"))
MakeString 함수와 MString 변수를 출력 했습니다.
출력 결과 동일하게 입력 String에 추가 내용이 포함되어 있습니다.
함수에 사용되는 매개변수를 다양하게 사용이 가능합니다.
var MString:(String) -> String = fun(mes:String) = mes + " Create Message 2"
var a:(Int) -> Int = fun(i:Int) = i * 10
println(a(7).toString())
println(MakeString("함수 사용"))
println(MString("변수 함수 사용"))
Int를 사용해서 추가 함수 a를 선언했습니다.
기존과 동일하게 println 함수를 사용해서 출력했습니다.
a 함수는 입력 변수에 10을 곱하는 형태로 7을 입력 시 70을 반환했습니다.
코틀린 함수는 매개변수 형식과 반환 형식을 자유롭게 사용할 수 있어 문법이 매우 편리합니다.
또한 외부 함수 정의가 아닌 내부에 함수를 정의를 사용할 수 있어 객체에 대한 처리를 완벽하게 수용할 수 있습니다.
내부 함수 정의 후 모호하다면 invoke() 메서드를 사용해서 모호함을 해결할 수 있다.
감사합니다.
'IT 나라 > 코틀린(Kotlin)' 카테고리의 다른 글
[ Kotlin ] 코틀린 안드로이드 카메라 이벤트 이미지 뷰 연결하기 (0) | 2021.05.07 |
---|---|
[ Kotlin ] 코틀린 갤러리 뷰 이미지 이벤트 확인하기 (0) | 2021.05.06 |
[ Kotlin ] 코틀린 android 중첩 클래스(nested Class) (0) | 2021.03.24 |
[ Kotlin ] 코틀린 android Sealed Class 사용법 (0) | 2021.03.23 |
[ Kotlin ] 코틀린 android Enum Class 사용법 (0) | 2021.03.22 |