• 2021. 9. 28.

    by. 문익점

    반응형

    다형성은 여러 모습을 갖는 것이다. 즉 객체지향에서의 다형성은 한 객체가 여러 타입을 갖는것이라고 말할 수 있습니다.

    객체지향에서의 다형성

    객체지향에서 다형성은 여러 가지가 있을 수 있지만, 대표적으로 타입 상속을 이용해서 구현합니다.

    // typescript
    class Phone {
    public call() {}
    }
    interface Rechargeable {
    charge(): void;
    }
    class SmartPhone extends Phone implements Rechargeable {
    //overide
    charge() {
    }
    }

    간단하게 Phone 클래스가 있고 Rechargeable 인터페이스가 있습니다. 이때 SmartPhone클래스는 두 가지를 모두 상속 받고 있습니다. 이렇게 된다면 스마트폰 클래스는 Phone 타입도 되고 Rechargeable 타입도 됩니다.

    let smartPhone = new SmartPhone();
    let phone: Phone = smartPhone;
    let rechargeable: Rechargeable = smartPhone;
    smartPhone.calling()
    smartPhone.charge()

    그래서 위와 같이 두 타입 모두 할당이 가능할테고 두 타입에서 제공되는 기능을 모두 사용이 가능합니다.

    정리

    하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.

    반응형

    '코딩' 카테고리의 다른 글