objective-cクラスメソッドの使い方で、多重定義のところが腑に落ちなかったのですが、一応氷解したので、記録として。 C++ の場合、次のようにメソッドの多重定義ができます。 class A { public: void print( int x ); void print( char *s ); }; int型の引数を持つ場合と、char*型の引数を持つ場合の関数を「print」という同じ名前が使えるわけです。C言語の場合は「printInt」、「printString」なんて名前を変えないといけないので、この多重定義は名前を定義する際に非常に重要な機能なのです。 これを、「素直」にobjective-c の文法に直そうとすると、 @interface A : NSObject - (void)print:(int)x ; - (void)print:(char*)s ; @end