JavaA2Z

KAB-studio > プログラミング > JavaA2Z > メタとは

メタ

日本語 上位階層
英語 meta
ふりがな めた
フリガナ メタ

解説

ある構造に対して、その「外側」の構造が存在すること。
 
非常に概念的に分かりにくい単語。
「ある世界」が存在するとき、その世界を包み込むような「外の世界」が存在するような構造、もしくはその「外の世界」に当たるような存在を「メタ」という。
単なる上下関係ではなく、一方が他方を所有するような「包括関係」にある。
また、上位の階層はさらに上位の階層から包み込まれるものであり、絶対的な最上位・最下位は存在しない。
つまり、ネストのような「入れ子関係」を指す。
 
ただし、入れ子関係は比較的「物理的」なものであり、また、下位と上位は異なる存在である場合が多い。
だが、メタは「概念的」なものであり、下位と上位は同じ存在である場合がある。
たとえば「UMLメタモデル」は、UMLの構造をUMLで表したものである。UML(下位)の構造を定義したもの(上位)という、概念的な上下関係が成り立ち、しかもその上位である「構造の定義」が、下位であるUMLによって記述されている。
このように、メタとは概念的な上下関係であり、かつ、下位と上位が同じ存在である。
これは物理的な考え方では想像しにくいため、それが分かりにくくしている。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // メタなクラスを作ります。
        Meta meta = new Meta();
        // もうひとつ作って、フィールドにセットします。
        meta.meta = new Meta();
        // さらにもうひとつ作ってセットします。
        meta.meta.meta = new Meta();
        // output()メソッドを呼び出します。
        meta.output();
        // Meta : Meta@3bb2b8
        // Meta : Meta@152544e
        // Meta : Meta@1cdeff
    }
}

/**
*   メタなクラス。
*/
class Meta
{
    /** 自分自身をフィールドとして持ちます。 */
    public Meta meta = null;

    /**
    *   出力します。
    */
    public void output()
    {
        System.out.println( "Meta : " + this.toString() );
        // metaフィールドのメソッドも呼び出します。
        if( meta != null )
        {
            meta.output();
        }
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // メタなクラスを作ります。
        Meta meta = new Meta();
        // もうひとつ作って、フィールドにセットします。
        meta.meta = new Meta();
        // さらにもうひとつ作ってセットします。
        meta.meta.meta = new Meta();
        // output()メソッドを呼び出します。
        meta.output();
        // Meta : Meta@3bb2b8
        // Meta : Meta@152544e
        // Meta : Meta@1cdeff
    }
}

/**
*   メタなクラス。
*/
class Meta
{
    /** 自分自身をフィールドとして持ちます。 */
    public Meta meta = null;

    /**
    *   出力します。
    */
    public void output()
    {
        System.out.println( "Meta : " + this.toString() );
        // metaフィールドのメソッドも呼び出します。
        if( meta != null )
        {
            meta.output();
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/05/23
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。