Java

Javaのクラスとインスタンスが絶対にわかる3つのポイント

クラスとは

 

Javaで作られるアプリケーションは、クラスという部品が集まってできています。

例えば、「Button」クラスや「Label」クラスなどがわかりやすいと思います。

ボタンに関する処理は「Button」クラスで、ラベルに関する処理は「Label」クラスで行う、といった風に、それぞれに役割がある場合にクラス単位で処理を分けます。

クラスのインスタンス

単刀直入にいうと、インスタンスというのはクラスを実体化させたものです。

クラスを定義した段階では、クラスを実体化していません。

このように、クラスを宣言した段階では「あるだけ」の状態です。

ここから「車」を作るためには「実体化」する必要があります。

その「実体化」がインスタンス化ということです。

 

メモリには当然限りがあります。

なので、メモリ領域を使う情報の中で、無駄なものがあると困ります。

そこで、必要なものだけを実体化します。

そうすることによってメモリの節約ができるのです。

また、この考え方はプログラミングにおいてとても重要なので、なるべくメモリの無駄遣いをしないようなプログラミングを心がけるのが良いです。

スタティックなもの

スタティックな変数や関数は、「汎用的なもの」に対して宣言されることが多いです。

例えば「KeyEvent」というクラス。

このクラスには様々なスタティック変数が定義されています。

「VK_RIGHT」や「VK_LEFT」、「VK_UP」に「VK_DOWN」などなど。

これらはキーコードの値を示しています。

こういった汎用的なものは、わざわざインスタンス化する必要がないため、スタティックとして定義されています。

まとめ

・インスタンス化は、「汎用的」な意味をもつ「車」や「人」などを実体化させる行為。

・インスタンス変数・関数には、「車の名称」や「人の名前」などの、具体的な情報が割り当てられる。また、こういった変数・関数は、動的なものと呼ばれる。

・スタティック変数・関数には、「キーコード」の値や「人種」などの、汎用的な情報が割り当てられる。また、こういった変数・関数は、静的なものと呼ばれる。

 

 

 

 

 

 

 

 

ABOUT ME
IT系だんし
プログラミングが大好きな人。 趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。