In computer science we use the term binding time to refer to the time in the life of a program when a name is tied, or bound, to an attribute. Times range from compile time, very early in the life of a program, to various phases of run-time, very late in the life of a program.
In a conventional language, a function and its behavior, that is, its code, is bound very early, at compile time. In an object oriented language the binding of the name, the message, to the code, the behavior is performed very late, at run-time. By permitting different objects to respond to the same message in a variety of ways, this late binding will turn out to be the key to much of the power of the object-oriented technique.