It's always different. Probably not very well explained but basically :
- Early binding is to know the type of an object at compile time. The
compiler have all the needed element at compile time to build the call into
the excutable code (resolution of calls at compile time)
- With late binding, the type of an object is known only at runtime. It will
need extra instructions to find out where is the method to be called (if it
exists) before calling it (resolution of calls at runtime)