ในวิทยาการคอมพิวเตอร์ชื่อการผูกคือความสัมพันธ์ของตัวระบุเช่นฟังก์ชันหรือชื่อตัวแปรไปยังส่วนของรหัสหรือข้อมูล ในสถานการณ์ที่พบบ่อยที่สุดการรวมแบบคงที่การทำแผนที่นี้เป็นที่รู้จักกันในเวลารวบรวม ในการรวมแบบไดนามิกวัตถุที่แมปโดยฟังก์ชั่นไม่เป็นที่รู้จักในเวลารวบรวมและสามารถกำหนดได้เฉพาะในช่วงเวลาทำงานของโปรแกรม ด้วยเหตุนี้การเชื่อมแบบไดนามิกจึงถูกเรียกว่าการรวมภายหลัง แม้ว่าการรวมแบบไดนามิกให้ความยืดหยุ่นไม่พร้อมใช้งานกับการรวมแบบคงที่
การเชื่อมโยงแบบไดนามิกมีความสัมพันธ์อย่างใกล้ชิดกับความหลากหลายซึ่งเป็นส่วนหนึ่งของการเขียนโปรแกรมเชิงวัตถุ ความแตกต่างช่วยให้ชื่อวิธีการเดียวกันที่จะดำเนินการในรูปแบบที่แตกต่างกัน หากไม่ได้เขียนโค้ดในลักษณะที่ไม่สามารถกำหนดวิธีการที่แม่นยำ ณ เวลารวบรวมได้จะต้องใช้การเชื่อมแบบไดนามิก
ตัวอย่างเช่นคลาส "Shape" อาจมีวิธีการที่เรียกว่า "GetArea" เพราะทุกรูปร่างมีพื้นที่ อย่างไรก็ตามคลาสย่อย "Circle" ของ "Shape" จะนำ "GetArea" ไปใช้แตกต่างจากคลาสย่อย "Square" ดังนั้นถ้าวัตถุใหม่ถูกสร้างขึ้นด้วยประเภท "รูปร่าง" และถ้ารหัสเรียกวิธีการ "GetArea" บนรูปร่างนั้นคอมไพเลอร์จะไม่มีทางรู้ว่ารูปร่างจะจบลงเป็นวงกลมหรือสี่เหลี่ยมและดังนั้น จะไม่ทราบว่าจะใช้วิธี GetArea ใดในการโทร นี่คือตัวอย่างของการเชื่อมโยงแบบไดนามิกเนื่องจากวิธีการ GetArea ที่ถูกต้องจะถูกแมปเฉพาะเวลาทำงานหลังจากโปรแกรมทราบรูปร่างของวัตถุชนิดใด
การเชื่อมโยงแบบไดนามิกช่วยให้มีความยืดหยุ่นในการใช้วิธีการแบบนามธรรมโดยไม่ทราบว่าจะใช้การใช้งานแบบใดโดยเฉพาะ ในตัวอย่าง "รูปร่าง" รหัสสามารถเขียนเพื่อหลีกเลี่ยงการผูกแบบไดนามิกโดยใช้ตรรกะนี้อย่างชัดเจน: ถ้ารูปร่างเป็นวงกลมแล้วเรียกวิธีการของวงกลม GetArea; มิฉะนั้นถ้ารูปร่างเป็นรูปสี่เหลี่ยมให้เรียกเมธอด GetArea เฉพาะสำหรับกำลังสอง ประโยชน์ของการเชื่อมโยงแบบไดนามิกคือรหัสสะอาดและบำรุงรักษาได้ดีกว่าทางเลือกอื่น ในตัวอย่างการรวมแบบสแตติกมีการทำซ้ำรหัสและรหัสจะต้องปรับปรุงทุกครั้งที่มีการเพิ่มรูปร่างชนิดใหม่
ข้อเสียของการผูกแบบไดนามิกคือประสิทธิภาพและความปลอดภัย ในการรวมคงที่คอมไพเลอร์รู้รหัสที่จะเรียกและสามารถปรับรหัสให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้น ความปลอดภัยของประเภทอาจเป็นปัญหาเนื่องจากในบางการใช้งานของการรวมแบบไดนามิกวิธีการสามารถเรียกใช้บนวัตถุที่ไม่สนับสนุนวิธีการ ตัวอย่างเช่นวิธีการ "GetArea" อาจถูกเรียกบนวัตถุที่ไม่ใช่รูปร่างและดังนั้นจึงไม่มีวิธี "GetArea" ซึ่งอาจส่งผลให้เกิดข้อผิดพลาดในขณะทำงาน การรวมแบบคงที่จะป้องกันสถานการณ์นี้โดยการเพิ่มข้อผิดพลาดในการคอมไพล์


