Dynamically modifying run-time behavior by replacing program elements with new program elements
Monkeypatching, in late-bound languages, refers to modifying run-time behavior by replacing program elements with new program elements.
Examples include replacing a method on a class with a new function, or patching a member of a class.
The term may have a pejorative connotation, as the technique is usually used on third-party code.
For more discussion, see "Monkeypatching for Humans" on Coding Horror.