プログラミング Java

【Java入門】クラスとインスタンスの違いを分かり易い言葉で説明します。

投稿日:

概要

クラスとインスタンスの違いについて、できるだけ分かり易い言葉や表現で説明します。
 

クラス

設計書だよ
以上です。
ほんとマジで。

どんなデータと操作が可能かを決めているだけなので設計書と表現しています。
 

インスタンス

設計書から作られた実際に中身があるものだよ。
インスタンスが生成されたら、メモリのどこかに作られて操作可能になります。
 

ここからはちょっと小難しい話になりますが、図でできるだけわかり易く説明するようにしてみます。

扇風機クラス

扇風機は商品名、商品番号が情報として持っているよ。
また、タイマーと強弱の設定を機能として持っているよ。
クラスではそれらを決めているよ。
 

インスタンスを作る

2個の扇風機を作るよ。
 商品名 :小型扇風機
 商品番号:1234567890、1234567891
 タイマー、強弱機能を取り付け
 

newした後は、以下の図のように変数がアドレスでインスタンスを参照するようになります。

nullを代入する

インスタンスにnullを代入すると、インスタンスが無くなるのではなく、インスタンスを参照するアドレスが消えるので、インスタンスが無くなったように見えます。

 

まとめ

  • クラスは設計図だよ。
  • インスタンスは実際に作られたものだよ。
  • インスタンスはアドレスで参照しているよ。
  • null代入したらアドレスが消えるだけでインスタンスは残るよ。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

pageEncodingとcontentTypeのcharsetの違い

pageEncodingとcontentTypeのcharsetは処理されるタイミングが異なります。 それによって文字化けの原因につながっているので、どのように設定すればいいかを解説していきます。 違 …

【Java入門】クラスの継承、オーバーライド

概要 クラスの継承とは、継承元(親)のフィールド(値)、メソッド(機能)を継承先(子)に引き継がせることです。 継承先(子)では、追加のフィールド(値)、メソッド(機能)を持つことができます。 つまり …

【Javaサンプル】自動販売機(Level3) クラス分け

自動販売機(Level2)では、小さいメソッドに処理を切り出すことを学びました。 しかし、まだMainクラス1つの中で完結しているプログラムです。 オブジェクト指向言語であるJavaを使うなら、クラス …

Springメモ(あれ、どうすんだっけ?)

@Autowiredアノテーションをつけることができる箇所(3つ) ・フィールド変数 ・コンストラクタの引数 ・setterの引数 ※引用 【後悔しないための入門書】Spring解体新書: Sprin …

【Javaサンプル】自動販売機を作成(Level1)

Javaの勉強用サンプルです。 テーマは自動販売機。 プログラミング初心者向けに書いています。   自動販売機を題材として選んだ理由 自社研修で行っている 自社研修で自動販売機を作成したので …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。