It is - there would be no point in creating a new function pointer for each object. (And it would also be ridiculously hard to do so.)
You can observe this by e. g. reading the NSObject
class reference. This class has a method called instanceMethodForSelector:
. This is a class method, so it can only return a function pointer which is not dependent on instances, only on the class (and the selector, of course).