Post

다형성(Polymorphism) - C++/C#/CS 기초

다형성(Polymorphism)

📌 개념 정리

  • 동일한 인터페이스로 다양한 동작을 수행하는 객체지향 특성.
  • 정적 다형성: 함수 오버로딩, 템플릿.
  • 동적 다형성: 가상함수vptr, vtable 기반.

💻 예제

1
2
3
4
5
6
7
8
class Shape {
public:
    virtual void Draw() { cout << "Generic Shape\n"; }
};
class Circle : public Shape {
public:
    void Draw() override { cout << "Circle\n"; }
};

⚡ 주의점

  • 다형적 삭제를 위해 소멸자는 virtual 권장.
  • 성능 요구가 크면 정적 다형성(템플릿) 고려.

🔗 관련 페이지

This post is licensed under CC BY 4.0 by the author.