変数やインスタンスが「外部に公開される」という意味を教えて下さい


objective-cを学んでいて疑問に感じた事があるので、質問させていただきます。  
変数やインスタンスを宣言する場所によって外部に公開されたりされなかったりすると思うのですが。

この”外部に公開”の意味が今ひとつ分かりません

他のクラスやメソッドへ公開されるということでしょうか？  
または、他の開発者の方や他の人に公開されてしまうのでしょうか？




「宣言する場所」をヘッダファイル(拡張子.h)と実装ファイル(拡張子.m)の2種類とするならば、  
ヘッダファイルに宣言したインスタンス変数などは、インポート(#import)によって他のファイルでも使える(=公開される)ことになります。  
逆に実装ファイルに宣言したインスタンス変数などは他のファイルでは使えない(=公開されない)ことになります。

上記はファイルレベルでの公開・非公開の話で、実際にはアクセス指定子(@publicや@private)によっても公開・非公開が変わってきます。




「宣言する場所」をヘッダファイル(拡張子.h)と実装ファイル(拡張子.m)の2種類とするならば、  
ヘッダファイルに宣言したインスタンス変数などは、インポート(#import)によって他のファイルでも使える(=公開される)ことになります。  
逆に実装ファイルに宣言したインスタンス変数などは他のファイルでは使えない(=公開されない)ことになります。

上記はファイルレベルでの公開・非公開の話で、実際にはアクセス指定子(@publicや@private)によっても公開・非公開が変わってきます。

