Kotlin/포스팅

코틀린 오버로딩한 메서드 생성

짜집퍼박사(짜박) 2024. 1. 7. 12:00

코틀린에서 메서드를 오버로딩(Overloading)하는 것은 하나의 클래스나 파일 내에서 동일한 이름을 가진 메서드를 여러 개 정의하는 것을 의미합니다. 메서드 오버로딩을 통해 동일한 작업을 수행하지만 다양한 매개변수를 허용하여 더 편리하게 사용할 수 있습니다.

 

메서드 오버로딩의 조건

1. 메서드 이름은 동일해야 합니다.
2. 매개변수의 개수 또는 타입이 달라야 합니다.

class Calculator {
    // 정수형 두 개를 더하는 메서드
    fun add(a: Int, b: Int): Int {
        return a + b
    }

    // 실수형 두 개를 더하는 메서드
    fun add(a: Double, b: Double): Double {
        return a + b
    }

    // 문자열 두 개를 이어붙이는 메서드
    fun add(a: String, b: String): String {
        return a + b
    }
}

fun main() {
    val calculator = Calculator()

    // 정수형 더하기
    println(calculator.add(3, 5)) // 출력: 8

    // 실수형 더하기
    println(calculator.add(3.5, 5.5)) // 출력: 9.0

    // 문자열 이어붙이기
    println(calculator.add("Hello", " World")) // 출력: Hello World
}

위의 예제에서 Calculator 클래스는 add라는 이름의 메서드를 세 번 오버로딩하고 있습니다. 각각의 메서드는 다른 타입의 매개변수를 가지고 있어서 메서드 호출 시 전달되는 매개변수에 따라 적절한 메서드가 선택됩니다.

 

주의사항

1. 오버로딩된 메서드들 간에는 반환 타입이 달라도 됩니다.
2. 매개변수의 이름이나 타입의 순서가 다르면 같은 이름의 메서드를 정의할 수 있습니다.
3. 디폴트 매개변수를 사용하는 경우, 오버로딩에 따른 코드 중복을 줄일 수 있습니다.

 

메서드 오버로딩은 코드의 가독성을 높이고 다양한 매개변수를 지원함으로써 사용자에게 더 편리한 API를 제공하는데 활용됩니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 인라인 함수  (0) 2024.01.07
코틀린 예외 선언  (0) 2024.01.07
코틀린 노출된 선언 이름 변경  (0) 2024.01.07
코틀린 정적 멤버  (0) 2024.01.07
코틀린 객체  (0) 2024.01.07