디폴트파라미터

· Skils/Kotlin
🔎오버 로딩 이름이 같은 함수를 여러 개 작성할 수 있는 기능 🛑주의할 점 컴파일러가 어떤 함수를 호출해야 할지 구분할 수 있도록 오버 로딩한 함수의 파라미터 타입을 구분해줘야 한다. ⭕예를 들어 다음 두 함수는 올바른 오버 로딩을 구성한다. fun readInt()= readLine()!!.toInt() fun readInt(radix : Int)= readLine()!!.toInt(radix) ❌다음 두 함수는 컴파일 오류가 발생한다. 왜일까? 두 함수는 반환 값만 다르고 파라미터의 타입은 같기 때문에 컴파일 오류가 발생하는 것이다! 이렇게 컴파일러는 다음과 같은 오버 로딩 해소 규칙을 따른다. 파라미터의 개수와 타입을 기준으로 호출할 수 있는 모든 함수를 찾는다. 덜 구체적인 함수를 제외시킨다. 규..