What Does Late Binding Mean?
Late binding is a runtime process of looking up a declaration, by name, that corresponds to a uniquely specified type. It does not involve type checking during compilation, when referencing libraries, including an object, is not required.
Late binding is also known as dynamic binding and, informally, as duck typing and name binding.
Techopedia Explains Late Binding
Because of dynamic linking support through late binding at runtime, a process can continue execution, even if a dynamic link library (DLL) does not exist, by taking an alternate execution path after checking for availability. Late binding facilitates working with generic types, which means that the same type for assigning different objects may be reused. Late binding forms the basis for potential polymorphism.
Originally introduced in Smalltalk, Microsoft adopted the late binding concept in its component object model (COM) technology. Other late binding implementations include dynamic dispatch in Java, type introspection and reflection in .NET, dynamic language runtime in C# 4.0 and execution of stored procedures in Procedural Language/Structured Query Language (PL/SQL) and Ada.
Late binding’s main disadvantages are:
- Slowed application performance.
- Does not provide code completion benefits, versus early binding.
Late binding is generally used in scenarios where an exact object interface is unknown at design time, or where interaction with multiple unknown servers invoke functions by names. It is also used as a workaround for compatibility issues between multiple versions of an improperly modified component. Thus, the trade-off between flexibility and performance must be weighed prior to application development.