クラス(class)とは
javaプログラミング言語は、クラス(class)というものを使います。classに、命令のまとまったものを記述して(書いて)、命令書を作ります。
classには、命令で使う「データ」と、「命令そのもの」を記述します。
今から、classを わかりやすく説明していきます。
あなたがお料理で、クッキーを作るときを思い出してください。
クッキーは、同じ形にしたいので、型抜きの型を使うことにします。
クッキーの基本の生地を先に作って置いて、後から色々なトッピングを載せて、クッキーの種類を増やしたい場合は、どうしますか?
クッキーの基本の生地は、プレーン、チョコレート、イチゴなど、色々あります。今回の基本の味は「チョコレート」にします。
「チョコレートの生地」から、クッキーの種類を増やす
チョコレート生地に、後から材料を追加して、クッキーの種類を増やすことにします。
今回の、生地はチョコレート味なので、基本の風味は 全てチョコレート味です。
①マカダミアナッツクッキー
②ピーナッツクッキー
③マシュマロクッキー
①②③は、チョコレートの生地に、後からトッピングの材料を足します。そうすれば、簡単に、チョコレートクッキーの種類を増やせます。
classはクッキーの型
ただし、コンピュータが作るクッキーは、電気を使います。
クッキーの型は、classです。
classは、電気信号の型抜きの「型」のように使います。
classは、コンピュータに出す命令を書いたものです。
classを一回作って保存すると、何回もそのclassの「型」で、同じ命令書を作れます。
classの型の使いまわしとは?
例えば、次のようなclassがあります。
英語の文字を表示するclass。
classの名前は、Fire です。
※プログラミング言語は、コンピュータにやらせる命令を出すものですので、「classの中身は、命令です」
class(クラス)のFireは、「炎!」という文字を、ディスプレイに表示します。
Fireの命令は、Fireクラスを複製すれば、簡単に増やせます。Fireクラスを5個、増やして、命令を実行すると、次のようにディスプレイに表示できます。
「炎!」
「炎!」
「炎!」
「炎!」
「炎!」
ここに、「チョコレート味のクッキーの生地に、 後からトッピングの材料を足す」ように、「classに、後からプログラムを追加」できます。
①「炎!あれは何だ」
②「炎!何かが燃えている?」
③「炎!何か爆破した!」
追加した情報は、次の内容です。
①「炎!」に「あれは何だ」という文字を足した。
②「炎!」に「何かが燃えている?」という文字を足した。
③「炎!」に「何か爆破した!」という文字を足した。
このように、「元の文字(炎!)に、新しい文字を追加して、ディスプレイに表示しろ。という命令をコンピュータに出す、新しい命令書ができます。
コンピュータは、インプットされたものを、命令通りに計算(変換)して、アウトプットする機械です。
コンピュータは、全ての値を、バイナリ(0と1の並んだもの)に置き換えて、命令を実行します。
全ての文字は、バイナリに置き換えられ、コンピュータのメモリ(バイナリを保存する部品)に保存されます。
そして、cpuで実行されます。
①「炎!あれは何だ」
②「炎!何かが燃えている?」
③「炎!何か爆破した!」
の文字も、
一度メモリに保存され、バイナリに変換されます。
命令もデータも、全てバイナリに変換されてから、実行(アウトプット)されます。
このように、「色んなパターンの、classのFireを実行して、ディスプレイに表示しろ」、という命令ができ、コンピュータは、ディスプレイに命令結果を表示(アウトプット)します。
この例ように、クラスは、クッキーの型のように、何度も使って同じ命令書を複製できます。
そして「もとの命令書に、後からデータ(今回は、文字の追加)と命令を追加する」ことができます。
javaプログラミング言語のclassは、このようにして後から使い回せるから、とても便利です。
あなたが、パソコンのディスプレイに、何万画素もある絵や映画を、一瞬で表示できるのは、既に誰かが保存し終わった命令を、呼び出して使っているからです。
液晶画面を1ドットずつ、毎回手作業で色を並べかえていたら、あなたの寿命は、あっという間に終わってしまいます。
javaプログラミング言語では、「javaの技術者が過去に作って保存してある、既にあるclassを呼び出して使う」とともに、「あなたが新たな命令を書き加える」、というやり方で、命令書(プログラム)を作ります。
あなたがやりたいことを実する命令は、既に準備してあるクラス(class)を複製したり、命令を追加したりして作り出します。
ディスプレイ、スピーカー、ウェブサイト、サーバー、ブルーレイ、これらが、コンピュータに繋げて使えるタイプのものならば、あなたが1から電気回路と固有の命令方法を設計して作らなくても、プログラミング言語の方を操作して、コンピュータから命令を出して使えます。
世の中の皆がより便利に暮らせるように、私達は、仕事で、役割分担しているということですね!。