モジュールの構造は、外部や環境の要求に応じて、進化(or 変化)する。
たとえば、クラスにはメソッドが追加される。あるクラスのサブクラスが存在するように、「メソッドの追加」という進化にもサブクラス(サブ進化)が存在する。
たとえば、「メソッドの追加」という進化のより具体的な進化として「オーバーロードメソッドの追加」という進化が考えられる。
さらにもっと具体的な継承関係を考えるなら、次のようになる:
メソッドの追加 +- public メソッドの追加 -- public オーバーロードメソッドの追加
|
+- private メソッドの追加 -- private オーバーロードメソッドの追加