Javaプログラミング/Javaの基本

クラスとインスタンスをマスターしよう

Javaプログラミングの最大のポイントは「クラス」を理解することです。クラスを具体的に利用する基本について理解しましょう。

執筆者:掌田 津耶乃

クラスは設計図、インスタンスは完成品?


今まで説明してきたプログラムは、基本的に「数字やテキストなどを足したり引いたりするもの」でした。が、Javaの世界では、数字などの値とはちょっと違うものがたくさん登場します。それは一般に「オブジェクト」と呼ばれるものです。たとえばウインドウを使ったプログラムなどを作ろうとすると、「ウインドウのオブジェクト」の中に「ボタンのオブジェクト」を組み込んで「クリックしたときの処理をするオブジェクト」を使って処理を用意して……というように、さまざまなオブジェクトを使ってプログラムを構築していくのです。

このオブジェクトと呼ばれるものの正体は、「クラス」と「インスタンス」というものです。クラスは、既に皆さん使っていますね。「Javaのプログラムはクラスの形で作る」というのが基本でした。では、インスタンスは? これは、クラスをもとにして作られた、「実際に操作することのできる部品」のことなのです。

クラスはプログラムの設計図。これをもとに必要なだけインスタンスという部品を作っていきます。


クラスというのは、いってみれば「プログラムの設計図」なのです。今まではmainメソッドという特別なメソッドだけを使ってきましたが、クラスの中には他にもさまざまなメソッドやフィールド(覚えていますか? さまざまな値を保管しておくものですね)が用意できます。これらを作成することで、そのプログラムに必要な機能などを設計していくのです。

が、こうして作ったクラスがそのまま利用できるか?というと、そうではありません。mainメソッドのように、クラスから直接動かすことのできる特別なものもありますが、多くのクラスはそのままでは使えないのです。そのクラスをもとに「インスタンス」というものを作成し、これを操作するのが一般的なのです。

なぜ、そんな面倒なことをするのか? それは、たとえばこういうことを考えてみてください。「ウインドウのクラスを使って画面にウインドウを表示したい」と思ったとしましょう。もし、「クラスをそのまま動かす」ようになっていたとします。そのとき、「ウインドウを2枚表示したい」と思ったらどうすればいいのでしょう? クラスを2つ用意する? では、「ウインドウを何枚でも開けるようにしたい」と思ったら? いくつクラスを用意すればいいのでしょうね。そもそも、そんなことのために、同じウインドウのクラスをたくさん用意するなんてバカげていませんか?

そこで「クラスをもとに、実際に操作することのできるインスタンスを作る」という仕組みを考えたわけです。これなら「2つのウインドウを表示したい」と思えば、クラスからインスタンスを2つ作ればいいだけです。3枚なら3つ、4枚なら4つ。必要なだけインスタンスという部品を作ればそれで済みます。また何枚ウインドウを作ろうと、用意しておくクラスは1つだけで済みます。これならとても経済的ですね。

  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます