Objective-Cを勉強中。ここ数年間はずっとMatlabとJavaとLISPのお世話になっていたので、C/C++の流儀を忘れてしまっていました。ひとつのクラス定義のためにふたつのファイル(.hと.m)を用意しないといけないのがめんどくさいですね。やっぱりJavaのような「1クラス=1ファイル」という構成が好きです。
コンパイラがヘッダーファイルを読み込んでクラスの依存関係を理解できるようにするために、宣言部と定義部のふたつに分けているという理解だったんですが、ほかに利点ってあるんですかね? ヘッダーファイルがドキュメント代わりになるから?