Polymorphism in OOP allows objects of different classes to be treated as objects of a common superclass. The core concept is one interface (function/operator name) with multiple implementations (forms). This includes function overloading, operator overloading, and virtual functions.