「interfaceに物申す」
(1)
(2)
(3)
は、public, protected, privateといったアクセス制御の修飾子によるカプセル化の限界を憂いたものです。
そもそもこれらの修飾子はクラスを境界としたカプセル化であるため、デザインパターンなどクラス群で表現されるモジュールの
内外の境界でのカプセル化には無力です。
Javaではパッケージプライベートというアクセス制御レベルも存在しますが、モジュール境界とパッケージ境界を一致させることが
現実的ではないことはご周知のとおりです。
こうしたクラス群で表現されるモジュールに対して、カプセル化を行うための新たな機能が求められているわけです。
そこでスーパーパッケージ(superpackage)という概念が提唱されました。
これはJSR 294として仕様の策定が行われており、Java7で搭載される見込みです。
(http://www.infoq.com/news/2009/01/java7-updated参照)
スーパーパッケージについては
http://journal.mycom.co.jp/articles/2007/05/13/superpackage/
が比較的詳しいかと思います。
投稿日時 : 2009年1月7日 21:48