OOP의 문제는
Base 클래스를 뜯어고쳐야 하는 상황이 오면,
Derived 클래스들도 모두 뜯어고쳐야 한다는 것이다
또한, 특정한 Derived 클래스들을 Base 클래스로부터 분리해야 하는 경우에도
굉장히 복잡해지며 유지 보수가 어려워 진다
따라서,
아래와 같은 Dynamic function binding이
정말 필요한지 생각을 해봐야 한다
Animal* animal;
if (rat)// Dynamic function binding
{
animal = new Cat();
}
else if(thief)
{
animal = new Dog();
}
Dynamic function binding이 필요 없다면
상속 없이 클래스를 만들고 각자의 멤버 변수와 함수를 이용하는 것이
유지 보수가 더욱 좋다
'C++ > [노코프] Tips' 카테고리의 다른 글
[C++ Tips] extern vs. static (0) | 2024.04.07 |
---|---|
[C++ Tips] std::string (0) | 2024.04.06 |
[C++ Tips] Virtual Function (0) | 2024.04.06 |
[C++ Tips] 클래스/구조체 멤버 정렬 (0) | 2024.04.05 |
[C++ Tips] switch case (0) | 2024.04.05 |