オブジェクト指向のクラスって?メソッドやインスタンスの関係を解説してみた

井上 慎也
書いた人 井上 慎也
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは!インストラクターの井上(@InoIno_iesa)です。

オブジェクト指向プログラミングって、なかなかハッキリ分かるとは言いづらい考え方ですよね。

実際プログラミング初学者の方には、オブジェクト指向の概念で曖昧になりがちなポイントがいくつかあります。

そこでこのシリーズでは、「オブジェクト指向ってよく分からない!」という人に、ステップバイステップで誰にでも分かるように噛み砕いて解説しています。

前回の記事では「オブジェクト指向ってどういうものなの?」ということを学びました。

今回はもう少し具体的な内容と、よく使われる基本的な用語「クラス」「インスタンス」「メソッド」を理解して、本格的な活用方法の為に理解を深めていきましょう。

〜連載記事一覧!オブジェクト指向について〜
Vol.1  「オブジェクト指向とは何か?わかりやすい例で説明してみた。
Vol.2  「オブジェクト指向のクラスって?メソッドやインスタンスの関係を解説してみた

そもそもオブジェクト指向のクラスとは?

オブジェクト指向には「クラス」という考え方があります。

クラスとはこれから作る『モノの定義』です。

例えば「これから作る『モノ』は何を覚えておくことが出来るか?」「これから作る『モノ』はどんなことをすることが出来るのか?」といった内容を決めていきます。

オブジェクト指向では『ロボットを設置して仕事をさせるように』プログラミングを進めていきます。

ロボットは指示されたことしか出来ませんので、予め「キミにはこんな指示をするよ」「この指示を受けたらこういう仕事をしてね」ということを決めて利用します。

つまり、クラスとは「これから仕事をしてもらうロボットの設計図」と理解して頂ければ分かりやすいでしょう。

スクリーンショット 2016 06 12 15 05 12

インスタンスとは?

「インスタンス」とは、クラスから作られた実働する『モノ』のことです。

クラスはあくまで『設計図』でしかありませんので、クラスだけでは仕事をしてくれません。

実際に動作をさせるためにはそこから『実際に動くモノ』である「インスタンス」を作らなければなりません。

インスタンスは「クラスという設計図から生み出された実際に働くロボット」と理解して頂くと良いでしょう。

なお、クラスからインスタンスを作ることを「インスタンス化」といいます。

スクリーンショット 2016 06 12 17 49 46

メソッドとは?

「メソッド」とは、プログラムの一連の処理をまとめたパッケージのようなものです。

一連の処理に名前をつけて、後からその一連の処理を簡単に呼び出せるようにしておきます。

言語によっては「関数」と呼ばれることもあります。

メソッドは独立して道具のように使うこともありますが、クラスの中に持つことも可能です。(※1)

クラスの中にある通常のメソッドは、『そのクラスから生成されたインスタンスが出来ること』を表します。

はじめに作成した”おはなしロボットクラス”の”ねぎらい機能”がメソッドにあたります。

インスタンスに対して搭載されている機能の利用を指示することで、実際にその仕事をしてくれるようになります。

スクリーンショット 2016 06 12 19 38 51

※1 メソッドが何故クラス内にあると便利なのか、他にどんな種類があるのかなどについては、後日「設計」について学ぶときに説明していきます。

まとめ

今回は「クラス=設計図」「インスタンス=設計図から作った実働するモノ」「メソッド=処理がまとめられたもの」としてご説明してきました。

前回のオブジェクト指向の考え方を少し掘り下げて理解できたでしょうか。

ここまでで何となくオブジェクト指向の基本的な用語や概念が分かってきたかと思いますが、例え話ばかりでは逆に表面的なことしかわからないので、次回は少しプログラミングのコードも交えて説明していく予定です。

どうぞ、お楽しみに!

関連記事


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


未経験者でも安心の徹底サポート!まずは完全無料の体験レッスン!

「プログラミングに興味があるけど未経験だし、、、」とお悩みの方はご安心ください。

  • 24時間質問し放題
  • あなただけのオーダーメイドカリキュラムで学習の効率化
  • 仕事獲得方法からオリジナルアプリ開発方法

侍エンジニア塾では徹底したサポートによる「オーダーメイドカリキュラム」を作成しています。

まずは無料体験レッスンで、「挫折しない学習方法」や「あなただけの学習ロードマップ」を知り、学習の効率化をしましょう。独学の難点である「オリジナルアプリの作り方やエラーの対処法」についてもアドバイスさせていただきます。

詳しいサービス内容は、下記よりご参照ください。

cta_mtm1

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

井上 慎也

井上 慎也

侍エンジニア塾のインストラクター。フリーでWEB制作の受託や自身の事業の傍ら、侍ではWEBプログラミング方法の指導やプログラミング学習コミュニティの運用を行っている。
好きなショートカットキーは、command + w 。愛機はMac Book Pro。ブラウザのタブを大量に開きがち。