코틀린에서 메서드를 오버로딩(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 |