더북(TheBook)

오버로딩이 왜 유용할까? 오버로딩을 사용하면 ‘같은 주제를 다르게 변경한다’는 개념을 (강제로 서로 다른 함수 이름을 써야 할 경우보다) 더 명확하게 표현할 수 있다. 덧셈 함수가 필요하다고 해보자.

Overloading/OverloadingAdd.kt

package overloading
import atomictest.eq

fun addInt(i: Int, j: Int) = i + j
fun addDouble(i: Double, j: Double) = i + j

fun add(i: Int, j: Int) = i + j
fun add(i: Double, j: Double) = i + j

fun main() {
  addInt(5, 6) eq add(5, 6)
  addDouble(56.23, 44.77) eq
    add(56.23, 44.77)
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.