.true if the receiver object
has a method named methodname
(translated to uppercase).
Otherwise, it returns .false. hasMethod method will return .true even if the target method is defined
as private. A private method has restricted access rules, so it's possible to
receive an unknown method error (error 97) when invoking methodname
even if hasMethod indicates the method exists.
See Section 4.2.8, “Public, Package-Scope, and Private Methods”
for private method restrictions.