プログラミング Java

オブジェクト指向とは何なのかを簡単に説明してみる

投稿日:2020年5月3日 更新日:

オブジェクト指向とは何なのか?
これを私の理解を元に、ごくごく簡単に説明してみたいと思います。

 

オブジェクト指向とは?

オブジェクト指向とは何かを説明するために、
「オブジェクト」と「指向」のそれぞれの意味を理解することが必要です。

オブジェクトとは?

オブジェクトとは、値と振る舞いをもった「変数」です。
文字列型変数(String)や整数型変数(int)と同じく、「変数」です。

Stringは、文字列という型を持つ変数です。
intは、整数という型を持つ変数です。
オブジェクトは、オブジェクトという型を持つ変数です。

指向とは?

ある方向・目的に向かうこと。

引用元:https://dictionary.goo.ne.jp/word/%E6%8C%87%E5%90%91/

つまり、オブジェクト指向プログラミングをざっくり言うと、
「オブジェクトという変数を使うことを目的としたプログラミング」である。
となります。

 

その「オブジェクト」がわらん!という方へ

オブジェクトの中身はフィールドとメソッド

オブジェクトは、フィールドとメソッドだけで構成されています。
フィールドとは、「値」のことです。
メソッドとは、「機能」のことです。

つまり、オブジェクトは値と機能がセットになった変数とも言えます。

抽象クラス(abstract)や、インターフェース(interface)という概念は一旦おいておきましょう。
それは、基本的なオブジェクト型が何かを感覚的にでもわかるようになってからで構いません。

(例題)電卓オブジェクト

例えば、電卓型のオブジェクトを作るとしましょう。
電卓クラスを作成し、20と10という値を与えて、足し算、引き算、掛け算、割り算を行います。

電卓クラスでは、フィールドを用意し、コンストラクターで初期値を設定します。
そして、メソッドで機能を実装して出来上がりです。

その電卓クラスに値を入れて計算してみます。

以下の出力結果を得ます。

これはごくごく簡単な例ではあります。
しかし、これがオブジェクト指向プログラミングの基本形なのです。
まずはしっかりとこの基本形が体に染みついてくるまで、簡単なクラスを作成して練習してみてください。

 

オブジェクト指向プログラミング練習題材

会員オブジェクト(Level1)

会員オブジェクトを作成する練習問題を作成しました。
【Java】オブジェクト指向の練習題材(会員オブジェクト)

成績オブジェクト(Level2)

成績を持つ生徒という構造を作る練習題材です。
オブジェクトを持つオブジェクトを学びます。
【Java】オブジェクト指向の練習題材(成績オブジェクト)

会計オブジェクト(Level3)

会計オブジェクトを作成する練習問題を作成しました。
3つのクラスを作成し、相互の関わり合いを学びます。
また、作成手順についても詳細に記載しました。
【Java】オブジェクト指向の練習題材(会計オブジェクト)

 

まとめ

・オブジェクトとは、フィールドとメソッドを持つ変数である。
・オブジェクト変数は、new(インスタンス化)することで使えるようになる。
・クラスは、オブジェクトを定義した型のことである。

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

ランキング評価する

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

執筆者:


comment

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

CAPTCHA


関連記事

オブジェクト指向でじゃんけんを作ってみる

最近、プログラム自体を書いていない時間を多いので、再勉強がてら少しコードを書いてみました。 何を作ったか? テーマ:じゃんけん(1対1) 言語:Java OOPで考慮したこと ・ゲームを管理するコント …

Springでバリデーションがimportされていないときの対処法

状況 SpringF/Wでバリデーションを実装したいが、@NotNullや@Minといったアノテーションが使えない。 @NotNullを使おうとすると、import com.sun.istack.No …

【Java】TDDして汎用的な部品を作成する(日付期間オブジェクト)

目的 TDDブートキャンプというセミナーに参加して面白かったので、 自分で何かやってみようと思った。 仕様 日付期間を保持するオブジェクトである。 開始日と終了日を持つ。 開始日と終了日を持つことをど …

【Javaポートフォリオ】なぜスクレイピングツールがおすすめか?

なぜスクレイピングツールか? ・スキルに需要がある ・総合的なスキルが身に付く ・個人開発に応用できる スキルに需要がある 執筆時点(2021年3月28日)時点で、ランサーズに1643件の発注がありま …

junit, テスト, junit5

【Junit5】最小構成のテストクラス

概要 Junit5の最小構成のテストクラスはテストメソッドを1つだけもつクラスです。 テストメソッドが0個だとテストクラスとして認識されません。 環境 Java11 Junit5.7 Gradle7. …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

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

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