Kotlin : Polymorphie (ft.오버라이딩)

언어/Kotlin

Kotlin : Polymorphie (ft.오버라이딩)

해리누나 2022. 10. 30. 00:14
반응형

1. Polymorphie 란?

 

다형성(Polymorphie)은 공통 인터페이스를 통해 다양한 클래스의 구현에 액세스 할 수 있게 해준다. Polymorphie는 그리스어에서 유래했으며 대략, "다양한 형태"를 의미하며 객체 지향 프로그레밍의 중심 개념 중 하나이다. 이는 우리가 같은 방식으로 매우 다르게 설계된 객체를 사용할 수 있게 해준다.

 

 

저번의 클래스 계층 구조의 예시로 들었던 것이다. 탈것 클래스 내에 ' 출발하다()' 라는 메서드가 있다고 가정해보자. 그러면 자전거 클래스와 차 클래스의 출발하다()라는 메서드의 구조는 서로 당연히 다를 것이다. (출발하다() 메서드의 어떤 구현이 선택되는지에 대한 결정은 런타임에서 발생한다고 한다.)

 

 

2. Overriding 오버라이딩

 

Super Class의 메서드를 Sub Class 에서 다르게(수정하거나 추가) 사용할 수 있는데, 이를 오버라이딩이라 한다.

 

open class Animal(val name : String, var age : Int, val type : String){
    fun information(){
        println("----정보---")
        println("이름 : $name")
        println("나이 : $age")
        println("종류 : $type")
    }

    open fun crying() : Unit {}
}

class Dog (name:String, age:Int) : Animal(name, age, "개") {

    override fun crying() {
        println("월!월월!")
    }

}

class Cat (name:String, age:Int) : Animal(name, age, "고양이") {

    override fun crying() {
        println("미야옹~")
    }

}

 

 

 

출처:

내용 / 도움준 곳: 학교 교수님 (Christian Kohls) 강의

728x90
반응형