プログラミング Java

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

投稿日:

概要

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

クラス

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

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

インスタンス

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

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

扇風機クラス

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

インスタンスを作る

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

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

nullを代入する

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

 

まとめ

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

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

ランキング評価する

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

執筆者:


comment

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

CAPTCHA


関連記事

Redmineでリンクにできない場合にチェックすること

リンクにできない場合のチェック項目 前後に文字列がくっついている。 前後に全角スペースがある。 リンクの#が全角になっている。   リンクにするには? 以下のルールで記述すればリンクにできま …

【Java入門】配列の扱い方まとめ

概要 配列の扱い方について学んでいきましょう。 配列は、同一の型の値を複数持つことができるデータ構造です。 ・int型の配列だったら、int(数値)を複数個持っている。 ・String型の配列だったら …

【Java】画像ファイルをバイナリで比較する方法

  画像ファイルの比較 比較元ファイル 素材はPhotoACから拝借しました。 コピー元画像:PCを持つ女性 コピーしたファイルとの比較(True) コピー元ファイルをコピーしただけのファイ …

ネストしたCollectionをflatmapで平坦化する例

概要 Java Goldの資格勉強をしていて、StreamのflatmapというメソッドでCollection等を平坦化(ネストした配列等を同階層の要素としてまとめること)の挙動で、3階層以上のネスト …

【Javaサンプル】自動販売機(Level4) ドメイン駆動

前回(Level3) Level3ではクラス分けすることを行いました。 しかし、私の目指すところのドメイン駆動開発になっていません。 また、ロジックもまだまだ複雑さが残っており、ぱっと見て何をやってい …

記事を探す

SpringFramworkの良書

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

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

サイト内検索