ความแตกต่างอาจเป็นแบบคงที่หรือแบบไดนามิก ในความหลากหลายแบบคงที่ การตอบสนองต่อฟังก์ชันจะถูกกำหนด ณ เวลารวบรวม ในความหลากหลายแบบไดนามิก จะตัดสินใจที่รันไทม์
Compile Time Polymorphism หรือ Static Binding
กลไกของการเชื่อมโยงฟังก์ชันกับอ็อบเจ็กต์ระหว่างเวลาคอมไพล์เรียกว่าการโยงล่วงหน้า เรียกอีกอย่างว่าการผูกแบบคงที่หรือการผูกในช่วงต้น
รันไทม์ Polymorphism หรือ Dynamic Binding
ความแตกต่างระหว่างรันไทม์มีเมธอดที่แทนที่ที่เรียกว่าการรวมไดนามิกหรือการโยงช้า
คลาสนามธรรมประกอบด้วยเมธอดที่เป็นนามธรรม ซึ่งใช้งานโดยคลาสที่ได้รับ คลาสที่ได้รับมีฟังก์ชันพิเศษมากกว่า ความหลากหลายแบบไดนามิกถูกนำมาใช้โดยคลาสนามธรรมและฟังก์ชันเสมือน