Kotlin 함수 오버로딩, 지역 함수
Kotlin 함수 오버로딩 함수 오버로딩 fun main () { test1 () test1 ( 100 ) test1 ( 111.11 ) test1 ( 100 , 200 ) } fun test1 () { println ( " 매개변수 없음 " ) } fun test1 (a1:Int) { println ( " 매개변수 Int" ) } fun test1 (a1:Double) { println ( " 매개변수 Double" ) } fun test1 (a1:Int , a2:Int) { println ( " 매개변수 두개 " ) } 같은 이름의 함수여도, 매개변수의 타입, 매개변수의 갯수의 차이로 함수 오버라이딩이 가능하다. 지역 함수 함수내에 함수를 지정할 수 있으며, 해당 함수내에서만 사용이 가능하다. fun main () { test1 () } fun test1 () { println ( "test1 호출 " ) fun test2 () { println ( "test2 호출 " ) } test2() } 함수 내 지역 함수를 사용할 경우, 지역 함수의 선언이, 호출부보다 하위에 위치해야 한다. fun main () { test1 () } fun test1 () { println ( "test1 호출 " ) test2() fun test2 () { println ( "test2 호출 " ) } } 지역 함수의 선언 부보다, 호출 부가 위에 있을 경우, 하위 지역 함수를 찾을 수 없다는 오류가 발생하게 된다. Kotlin: Unresolved reference: test2 지역함수를 선언한 함수 밖에서 호출 할 경우도 역시 동일한 오류가 발생한다. fun main