7건의 항목
다형성은 무엇인가? 왜 중요한가? Polymorphism poly + morph + ism: 다양한 + 변하다 + 상태 = 다양한 형태로 변할 수 있는 능력 많은 사람들이 OOP의 핵심이라 여기는 특징 같은 지시를 내렸는데 다른 종류의 개체가 동작을 달리 하는 것 어떤 함수 구현이 실행될지 실행중에 결정된다.
Early Binding과 Late Binding은 성능에서 어떤 차이가 나는가? 실제로는 어떻게 사용하는가? 알게 모르게 당연하게 사용하고 있는 다형적 메서드는 무엇이 있을까? 이른 바인딩 vs.
추상클래스는 왜 필요할까? 다형성은 멋지고 강력한 개념 OO 4대 특성인 이유 (상속, 캡슐화, 다형성, 추상화) 다형성은 상속에 기반 상속과 다형성은 추상화에 기반 공통된 것을 뽑아내어 일반화된, 범용적인 것으로 적용 여러 클래스에서 공통 분모를 뽑아 부모 클래스로 제작 자식마다 달리 작동하는 구현을 부모의 method signature로 일반화 추상화는 조금더 복잡한 문제를 해결하기 위한 것 새로운 개념은 새로운 문제도 가져온다 추상화는 막강하지만 그로 인해 생각지 못한 문제가 발생 역시 사람은 직접 해보고 당해봐야 답을 찾음 ...
만약에 연극 종류가 추가되면 어떻게 될까? 이제 다형성으로 변경할 시점이다. 다형성을 활용해 계산코드 재구성하기 지금까지 구성한 코드를 한번 보자.
마지막으로 변경된 코드를 보며 생각해보자.
Replace Conditional With Polymorphism, 조건부 로직을 다형성으로 바꾸기를 알아보자.
Dynamic Binding (동적 바인딩) 그런데, 우리가 두 클래스가 상속관계에 있다는 것을 안다면, 이 멤버함수를 자동으로 묶어줄 수는 없을까? 이제 override , virtual 의 강력한 기능을 알 수 있다.