Kotlin에서의 오버로딩 , 오버라이딩 차이점

이성진·2023년 11월 17일
0

TIL

목록 보기
78/95
post-thumbnail

오늘은 안드로이드 코틀린 프로그래밍에서 자주 사용되는 두 가지 개념 , 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점에 대해 배웠습니다. 이 두 기법은 메서드의 동작 방식을 확장하거나 수정하는데 사용되지만 , 각기 다른 목적과 사용법을 가지고 있습니다.

오버로딩(Overloading)

  • 정의 : 같은 이름의 메서드를 매개변수의 타입이나 개수가 다르게 여러 번 정의하는 것을 말합니다.
  • 목적 : 동일한 작업을 수행하지만 , 다른 유형 또는 수의 매개변수를 가진 메서드를 생성하여 유연성을 제공합니다.
class ExampleClass {
    fun display(number: Int) {
        println("Displaying: $number")
    }

    fun display(text: String) {
        println("Displaying: $text")
    }
}
  • 특징 : 메서드 시그니처(이름과 매개변수 목록)가 달라야 하지만 , 반환 타입은 고려되지 않습니다.

오버라이딩(Overriding)

  • 정의 : 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의하는 것입니다.
  • 목적 : 상속받은 클래스에서 부모 클래스의 동일한 메서드를 새로운 방식으로 구현할 때 사용됩니다.
open class ParentClass {
    open fun display() {
        println("Display in Parent Class")
    }
}

class ChildClass : ParentClass() {
    override fun display() {
        println("Display in Child Class")
    }
}
  • 특징 : 오버라이딩된 메서드는 부모 클래스의 메서드와 동일한 시그니처를 가져야 하며 , open 키워드로 표시된 메서드만 오버라이드 할 수 있습니다.

배운 점

오버로딩과 오버라이딩은 코틀린 프로그래밍에서 유용하게 사용되는 기법입니다. 오버로딩은 메서드의 다양성을 제공하는 반면 , 오버라이딩은 상속과 다형성을 활용하여 코드의 재사용성과 유지 보수성을 향상시킵니다. 이 두 기법의 차이점을 이해하는 것은 효율적인 코틀린 프로그래밍을 위해 필수적입니다.

profile
2023.08 ~ Android Kotlin 공부

0개의 댓글