Javaクラスファイル
Javaのファイルだよ
ソースファイルをコンパイルしたファイルだよ
拡張子が「.class」だよ
簡単に書くよ
Javaクラスファイル(読:ジャヴァクラスファイル 英:Java class file)とは
プログラミング言語「Java」で書かれたプログラムの元ネタファイル(ソースファイル)をコンピュータさんが分かる言葉に変換したファイル
であり
ファイルの種類を表す目印(拡張子)が「.class」なファイル
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・プログラミング言語
・Java(ジャヴァ)
・ソースファイル
・コンパイル
・拡張子
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラミング言語は「プログラムの元ネタ(ソースコード)を書くときに使う言葉」です。
一般的なプログラムというのは、まず人間語で元ネタを書き、それをコンピュータさんが分かる言葉に翻訳することで完成します。
この「元ネタ」を書くときに使う言語がプログラミング言語です。
Javaは「一度書けば、どこでも動く」の理念で作られたプログラミング言語です。
プログラムの元ネタを書くときに使う言葉のひとつです。
Javaのプログラムは、どんな環境でも動くということに(建前上は)なっています。
ちなみに、Javaが「オブジェクト指向」という用語を世間一般に流行らせました。
ソースファイルは「プログラムの元ネタが書かれているファイル」です。
ソースファイルは人間語(プログラミング言語)で書かれています。
こいつをコンピュータさんが分かる言葉に翻訳することで、実際のプログラムになります。
コンパイルは「人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳する作業」です。
拡張子は「ファイル名の最後にくっついているファイルの種類を表す目印」です。
拡張子はファイル名の一番右に「.(ドット)」と一緒にくっついています。
例えば「hoge.txt」であれば「.txt」の部分が拡張子です。
拡張子は、実際にはファイル名の一部です。
任意の名前(hoge)+拡張子(.txt)
で1つのファイル名になります。
以上を踏まえて
Javaのソースファイルをコンパイルするとできるファイル
が「Javaクラスファイル」です。
Javaクラスファイルの拡張子は「.class」です。
実際のファイル名は「hoge.class」のようになります。
ファイルの拡張子が「.class」だから「クラスファイル」なのか、それとも「クラスファイル」だから拡張子が「.class」なのかは、私は知りません。
「卵が先か、鶏が先か」みたいですね。
JavaクラスファイルはJavaで書いたソースファイルを変換して作られるファイルです。
Javaクラスファイルの中身を直接見たり編集する機会は基本的にありません。
普通はソースファイルを編集して再変換することでJavaクラスファイルを作り直します。
ちなみに、javaと言えばオブジェクト指向ですね。
オブジェクト指向では「クラス」「インスタンス」「オブジェクト」というキーワードが出てきます。
それぞれの用語の意味は、ざっくり書くと
クラス:設計図
インスタンス:実際に作ったもの
オブジェクト:クラスとかインスタンスとかをふんわりと表現したもの
です。
オブジェクト指向の話で出てくる「クラス」とJavaクラスファイルの「クラス」を同じものと捉えると混乱します。
もしかしたら関連はあるのかもしれませんけどね。
分けて考えてください。
オブジェクト指向の話で出てくる「クラス」は「設計図」です。
Javaのクラスファイルは「設計図(ソースファイル)をもとにして作られた実体ファイル(プログラムなファイル)」です。
一言でまとめるよ
まぁ「Javaクラスファイル」って単語が出てきたら「Javaのソースファイル(人間語で書かれたプログラムの元ネタファイル)をコンパイル(人間語で書かれたプログラムの元ネタを機械語に翻訳すること)したファイルなんだな~」と、お考えください。
おまけ
■訳してみるよ
「Java(ジャヴァ)」はプログラミング言語の「Java」です。
「class(クラス)」の意味は「種類」とか「階級」とか「授業」とか「学級」とかです。
「file(ファイル)」はカタカナで「ファイル」で分かりますかね。
何となくくっつけると
Java種類ファイル
となります。
■検索してみる?