बहुरूपता स्थिर या गतिशील हो सकती है। स्थैतिक बहुरूपता में, किसी फ़ंक्शन की प्रतिक्रिया संकलन समय पर निर्धारित की जाती है। गतिशील बहुरूपता में, यह रन-टाइम पर तय किया जाता है।
कंपाइल टाइम पॉलीमॉर्फिज्म या स्टेटिक बाइंडिंग
संकलन समय के दौरान किसी फ़ंक्शन को किसी ऑब्जेक्ट से जोड़ने की क्रियाविधि को अर्ली बाइंडिंग कहा जाता है। इसे स्टैटिक बाइंडिंग या अर्ली बाइंडिंग भी कहा जाता है।
रन टाइम पॉलीमॉर्फिज्म या डायनेमिक बाइंडिंग
रनटाइम पॉलीमॉर्फिज्म में मेथड ओवरराइडिंग होती है जिसे डायनेमिक बाइंडिंग या लेट बाइंडिंग के रूप में भी जाना जाता है।
एब्स्ट्रैक्ट क्लासेस में एब्स्ट्रैक्ट मेथड्स होते हैं, जिन्हें व्युत्पन्न क्लास द्वारा लागू किया जाता है। व्युत्पन्न वर्गों में अधिक विशिष्ट कार्यक्षमता होती है। गतिशील बहुरूपता अमूर्त वर्गों और आभासी कार्यों द्वारा कार्यान्वित की जाती है।