JavaA2Z

KAB-studio > プログラミング > JavaA2Z > シンタックスとは

シンタックス

日本語 文法
英語 syntax
ふりがな しんたっくす
フリガナ シンタックス

解説

プログラムの「文法」。
通常は「シンタックス」と対にして使用し、「プログラムはシンタックス上~だが、セマンティクスとしては~だ」といった使い方をする。
 
プログラムは「言語」であるため、様々な機能を持つ予約語や記号の組み合わせによって作られる。
これら予約語や記号には文法上の機能が決められている。たとえばprotectedメソッドは「サブクラスか、同パッケージクラスからのみ呼び出せる」という「文法上の機能(シンタックス)」が存在する。
これはあくまで機能であり、プログラマーがその機能をどう使おうが構わない。機能は機能でしかないのである。
 
だが、実際にはこの機能は「意味(セマンティクス)」を持つ。
protectedメソッドpublicメソッドに比べて「他のパッケージクラスからは呼び出せない」という制約があり、privateメソッドに比べて「サブクラスから呼び出せる」という自由度がある。また、abstractメソッドに比べて「オーバーライドしなくてもよい」ということも言える。
以上の関係から考えて、メソッドprotectedにする意味とは何か? を考えた場合、その結論は「サブクラスから呼び出せるようにする」という「意味(セマンティクス)」を読み取ることができる。
つまり、あなたが「このメソッドサブクラスから呼んでもらいたい」と考えるなら、それをprotectedメソッドにすることで表現することができる。また、protectedメソッドを見たら「サブクラスから呼んで欲しいのかな?」と解釈することができるというわけである。
 
このように、無機質なシンタックスは、有機的なセマンティクスを内包している。
そして、「デザインパターン」のように「セマンティクスを表現するための、シンタックスのイディオム」が存在しており、このイディオムを踏まえて、J2SEを含めて多くのプログラムが作られている。
そのため、プログラムの学習時には、単に文法の意味(シンタックス)のみを追わず、それらが表現することのできる意味(セマンティクス)も学ぶようにすること。

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
    }

    /**
    *   たとえばこのprotectedメソッド。
    *   protectedメソッドは、文法的(シンタックス)には
    *   「他パッケージから呼ばれない」といったものですが、
    *   privateメソッドやpublicメソッド、abstractメソッドではない
    *   ことを考えると「サブクラスから呼んで欲しい」
    *   ということが読み取れます。これが「protectedメソッド」に
    *   していることに「意味(セマンティクス)」を持たせる、
    *   ということです。
    */
    protected void method()
    {
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
    }

    /**
    *   たとえばこのprotectedメソッド。
    *   protectedメソッドは、文法的(シンタックス)には
    *   「他パッケージから呼ばれない」といったものですが、
    *   privateメソッドやpublicメソッド、abstractメソッドではない
    *   ことを考えると「サブクラスから呼んで欲しい」
    *   ということが読み取れます。これが「protectedメソッド」に
    *   していることに「意味(セマンティクス)」を持たせる、
    *   ということです。
    */
    protected void method()
    {
    }
}

この単語を含むページ

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

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

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

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