중 하나를 기본 인수 값을 지정하여 선택적 매개 변수를 표현하는 방법은 두 가지가 있습니다 :기본 인수 과부하 대, 때 사용할 코 틀린에
fun foo(parameter: Any, option: Boolean = false) { ... }
또는 과부하 도입하여 :
fun foo(parameter: Any) = foo(parameter, false)
fun foo(parameter: Any, option: Boolean) { ... }
가
어느 상황에서 어느 쪽이 선호됩니까?
이러한 기능을 가진 소비자의 차이점은 무엇입니까?
참고 : 같은 다른 언어 [C#을] (http://stackoverflow.com/questions/16789341/function-overloading-vs-optional-parameters) 또는 관련 비슷한 질문이 있지만 [VB.NET] (http://stackoverflow.com/questions/304389/function-overloading-vs-default-parameters-in-vb-net)이 질문은 Kotlin에만 해당됩니다. – Ilya
과부하는 절대로 사용하지 마십시오. '@ JVMOverloads'가 Java에서 그들을 소비하는데 유용 할 수도 있습니다 – voddan