「まずはこのクラスから、インスタンス(Instance)を生成しましょう」

プログラミングの学習サイトで最初に出てくる、この呪文。私は「イン……スタンス? なんだか、インスタ(Instagram)の親戚かな? 写真でも撮るのかな?」と、お気楽な想像をしていました。

とりあえず 「映えるコードを書きます!」 と意気込んでみましたが、後で「設計図から実体を作ることだよ」と教えられ、自分の「SNS脳」な勘違いに赤面する羽目に……(笑)。

実は「インスタンス」は、プログラミングの世界で「実際に動くモノ」を作るための、最も基本的なステップのことです。今回は、みんな大好き 「たい焼き」 に例えて、その正体をやさしく解説します!

インスタンスとは? 一言でいうと「設計図から作られた『実際の商品(実体)』」

結論から言うと、インスタンスとは、「クラス(設計図)という型から作られた、メモリ上に存在する具体的なデータの実体」 のことです。

美味しい 「たい焼き」 に例えてみましょう。

  • クラス:たい焼きを作るための 「鉄の金型」。これ自体は食べられませんが、形が決まっています。
  • インスタンス「金型に生地を入れて焼き上げた『本物のたい焼き』」。 これが実際に食べられる(プログラムで使える)実体です。

一つの金型(クラス)があれば、そこから何個でも同じ形のたい焼き(インスタンス)を作ることができますよね。

中身が「あんこ」のインスタンスもあれば、「カスタード」のインスタンスもある。形は同じでも、中身や状態が少しずつ違う「実物」たち。それがインスタンスなのです。

ビジネスの現場でインスタンスという言葉が出る場面

開発の打ち合わせや、クラウドサーバーの構築シーンで頻繁に登場します。

1. 「サーバーのインスタンスを2台立ち上げて、負荷を分散しよう」

意味:
「クラウドという巨大な『PCの型』から、実際に動く『仮想PC(実体)』を2つ焼いて(作成して)、並べて使おう」ということです。

2. 「ユーザーごとにインスタンス化して、個別の情報を保持しよう」

意味:
「『ユーザー』という共通の設計図から、Aさん用の実体、Bさん用の実体……と別々に作成して、それぞれの名前やポイントを間違えないように管理しよう」ということです。

3. 「このインスタンス、変なエラーを吐いてるから一度破棄して作り直そう」

意味:
「今動いているこの『実体(たい焼き)』が焦げちゃっている(壊れている)から、一旦捨てて、もう一度金型(設計図)からピカピカの新しい実体を作り直そう」ということです。

クラスとインスタンスの違い(まとめ)

迷子にならないために、この2つの関係をしっかり押さえましょう。

比較ポイントクラス (Class)インスタンス (Instance)
役割「設計図・型」「実物・実体」
状態動かない、食べられない動く、食べられる
1ついくつでも作れる
たとえ話たい焼きの金型焼きたてのたい焼き

「型(クラス)」から「物(インスタンス)」を作る、という順番を意識しましょう!

まとめ

この記事のポイントは次のとおりです。

  • インスタンスは、設計図から作られた「実体」のこと
  • プログラムが実際に動くとき、この「実体」が主役になる
  • 1つのクラスから、少しずつ中身の違うインスタンスをたくさん作れる

今すぐできる確認方法

あなたの周りにある「型」と「実物」を探してみましょう。

  1. お菓子の型抜き: クッキーの「型」がクラス、焼かれた「クッキー」がインスタンスです。
  2. ハンコ: 「ハンコ本体」がクラス、紙に押された「印影」がインスタンスです。
  3. ゲームの敵キャラ: 「スライム」という種類(クラス)は一つですが、画面に3匹出てきたら、それは3つの「インスタンス」が戦っている証拠です!

「インスタンス」という言葉を知るだけで、ITの世界が「ただの文字」ではなく、設計図から次々と「実体」が生み出されるエネルギッシュな工場のように見えてきませんか?