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

    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)
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.