| プログラミング応用a 第10回 『モジュール化その2 (パッケージ化とインポート、パッケージレベルでのアクセス制御)』 | 
10-2 【package宣言(クラスをパッケージへ編入する方法)】
	
	●あるクラスを特定のパッケージに編入したい場合は,ソースファイルの先頭でアクセス修飾子 package をつけて宣言を行う(下図)。
	
    
10-3 【import宣言(別のパッケージ内のクラスを使う)】
    
	 あるクラスから別のクラスを利用する場合,同一パッケージ内のクラスは特別に何もしなくても使用することが出来る。
	しかし,別のパッケージ内のクラスを使うには,ソースファイルの先頭で import 宣言を行わなくてはならない(下図)。
	(なお,インポートとは,「輸入する」「外から内へ持ってくる」という意味の単語である)
	
	
	
※なお,デフォルトパッケージ内のクラスは,その他のパッケージからはインポートできない。
       デフォルトパッケージには名前がないので,import宣言で指定のしようが無いためである。
      
    
10-4 【パッケージとクラスのアクセス指定】
		  
		  ●あるパッケージのクラスを他のパッケージからも利用可能にするためには, クラス定義で public と指定してクラスを定義しなくてはならない。
		  (下図をクリックすると補助情報が表示されます)
		  
		  
	    表にまとめると次の様になる。
| 指定無しクラス | publicクラス | |
| 同一パッケージ内のクラスから | ○ | ○ | 
| 別のパッケージ内のクラスから | × | ○ | 
※つまり,publicクラスへはどこからでもアクセスできる
		  
		  
		
		  
		  10-5 【パッケージとメンバのアクセス指定】
		
		● メンバのアクセス特性を指定するとき, private 指定の他に,「指定無し」があったが,新たに「public指定」を紹介する。
| privateメンバ | 指定無し(デフォルトアクセス)メンバ | publicメンバ | |
| 同一クラス内から | ○ | ○ | ○ | 
| 同一パッケージ内のクラスから | × | ○ | ○ | 
| 別のパッケージ内のクラスから | × | × | ○ | 
※その他にprotectedというメンバアクセス指定があるがここでは省略する
		※つまり,publicメンバはどこからでもアクセスできる
		
      
		
		●図で見るprivateメンバ/デフォルトアクセスメンバ/publicメンバ
		
※つまり, public クラス(厳密には,publicクラスのpublicメンバ)はパッケージのインタフェイス部を構成する。
		※それ以外(publicでないクラス,publicクラスのpublic以外のメンバ )は,パッケージの実装部を構成する。
		
次へ進む