プロパティを使用する時、普通に .h で @property を宣言すると、外部のクラスからもアクセスできちゃう。 例えばこんな感じ。 Sample.h #import <Foundation/Foundation.h> @interface Sample : NSObject { NSMutableArray *privateArray; } @property (nonatomic,retain) NSMutableArray *privateArray; @end OtherClass.m - (void)someMethod:(id)someObj { Sample *sample = [[[Sample alloc] init] autorelease]; sample.privateArray = nil; // こんなことされたら非常に困る } でも、