書くというのがこれまでのルールでした。典型的な例として、以下のように書いていました。*aString;}...@end宣言済みプロパティの場合は自動生成されますから、書く必要はありません。外部からアクセスする際にはアクセサを通すべきで、普通はプロパティを使いますから、インスタンス変数は隠蔽しておきます。日本語ドキュメントにも書いてあります。プログラミング言語』の35ページ、クラスインターフェースの注記として書かれた部分には以下のようにあります(強調は筆者による)。インスタンス変数は実装詳細であり、通常、クラス自身の外からアクセスされることはありません。実装ブロック内に宣言すること、あるいは宣言済みプロパティから自動生成させることも可能です。したがって通常は、インスタンス変数宣言をパブリックインターフェイスで行うべきではないので、波括弧も省略してください。37ページのクラス実装の項に、実装ブロックでのインスタンス変数の宣言について書かれています。