Although this post goes back a few years, it explains how methods are stored and can be accessed at runtime.
IMP is short for “implementation”. It is the memory address of the start of a code block that implements a Method.
There are rare cases though, where you may want to bypass the typical “[object method:parameter];” syntax and the objc_msgSend() function. In these cases you’ll need to invoke the IMP directly.