title: What is the difference between Dynamic, Static and Late binding?
body: <p>I was going through <a href="https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Articles/ooObjectModel.html#//apple_ref/doc/uid/TP40005149-CH5-SW16" rel="nofollow">Object-Oriented Programming in Objective-C</a> guide by Apple. Under the topic of Dynamism-->Dynamic Binding, there were three concepts:</p>
  
  <ol>
  <li>Dynamic Binding</li>
  <li>Late Binding</li>
  <li>Static Binding</li>
  </ol>
  
  <p>I've almost understood the difference(s) between Dynamic and Late binding, but Static Binding confuses a lot. Can somebody please explain the differences between these three concepts with examples either in Objective-C or C++?</p>
  
  <p>Note: Before you think to mark this question as duplicate, there is no question on SO that describes these three things simultaneously. </p>