その1】Objective-Cのオブジェクト指向は複雑なルールが少なく、比較的自由に扱えます。堅苦しい規約も無く、プログラマの自由に任せるというC言語らしいスタンスを感じますね。その中でも特に気に入っているのが、関数の上書き機能(オーバーライド)の緩さです。親クラスと同名の関数を宣言するだけで、オーバーライドが実現出来てしまいます。"b"他の言語ではもっと複雑で面倒Swiftの場合Swiftの場合は親クラス側でpublicキーワード等のアクセス修飾子が必要になるケースがあり、またオーバーライド時もoverride指定子の明示が必須になります。"B.foo"C++の場合C++の場合はoverride指定子の省略が可能ですが、親クラス側でvirtual指定子の指定が必須となっています。"B.bar"ただし、SwiftやC++に見られるこれらの面倒な仕様は、保守性や安全性、統一性のためには必須の仕組みでもあるため、デメリットとは言えないでしょう。Objective-Cが自由すぎるのです。まとめ私はこのObjective-Cの緩さがたまらなく好きです。Objective-Cのオブジェクト指向にはシンプルさとは何かを再認識させてくれる仕様が多く、使っていて面白い言語だと感じます。