오버로딩/ 오버라이딩

고진호·2023년 6월 30일
0

Kotlin

목록 보기
3/3

오버로딩(Overloading)

오버로딩은 같은 이름을 가진 메서드나 생성자를 여러 개 정의하는 것을 말한다.
메서드의 매개변수의 갯수나 타입을 다르게 함으로써 같은 이름의 메서드들이 서로 다른 기능을 수행할 수 있게 하는 것.

class OverloadingEx {
    fun add(a: Int, b: Int): Int {
        return a + b
    }

    fun add(a: Double, b: Double): Double {
        return a + b
    }
} 

같은 이름의 add 메서드지만 매개변수의 타입이 다르기 때문에 서로 다른 기능을 수행한다.

오버 라이딩(Overriding)

오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것을 말한다.
상속 관계에 있는 클래스에서 부모 클래스의 메서드를 자식 클래스에서 동일한 메서드(이름과 매개변수의 개수 및 타입)으로 다시 구현하는 것.
오버라이딩을 통해 자식 클래스는 상위 클래스의 메서드 동작을 변경하거나 추가적인 기능을 수행할 수 있다.
코틀린에서 오버라이딩을 하기 위해서는 override 키워드를 사용하여 상위 클래스의 메서드를 재정의해야 한다.
오버라이딩된 메서드는 상위 클래스의 메서드와 동일한 이름, 매개변수 개수 및 타입)를 가져야 한다.

 open class Super { 
    open fun sleep() {
        println("Going to the bed.")
    }
}
class Camping : Super() {
    override fun sleep() {
        println("Going to the tent")
    }
}

오버라이딩 할 메서드 앞에는 override 키워드를 붙혀야 하고, 상위 클래스의 메서드 앞에는 open 키워드를 붙혀야 한다.

부모 클래스의 sleep 메서드를 오버라이딩해서 자식 클래스에서 같은 형식으로 다르게 구현함.

profile
Kotlin,Java 안드로이드 앱 개발자 지망생

0개의 댓글