08/04/20 13:45:57
Obj-C でも、value という同一メッセージに
いろいろなオブジェクトがそれぞれ自分流に応答するわけでしょう。
オーバーローディングの問題はむしろ、
ひとつのオブジェクトが、value という同じ名前のメッセージだけど、
引数や返す値に応じて違う応答をする、ということで、
それは Obj-C はできないですが、そのかわりに
メソッド名を分かり易くあからさまに書くというのが作法なわけです。
あと、C++ でも返す値の型だけが違う際は overload できないよね。
また、演算子のオーバーロードをしたい場合は
Objective-C++ を使ったらいいんじゃないかと思います。
演算子 overloading は、普通は具体的な値として使うクラス
(行列、複素数等)に対して重要になってくるので、
そいつらは C++ のクラスにしてしまえばもんだいなくなるのでは。