オブジェクト指向とは何なのか?
これを私の理解を元に、ごくごく簡単に説明してみたいと思います。
オブジェクト指向とは?
オブジェクト指向とは何かを説明するために、
「オブジェクト」と「指向」のそれぞれの意味を理解することが必要です。
オブジェクトとは?
オブジェクトとは、値と振る舞いをもった「変数」です。
文字列型変数(String)や整数型変数(int)と同じく、「変数」です。
Stringは、文字列という型を持つ変数です。
intは、整数という型を持つ変数です。
オブジェクトは、オブジェクトという型を持つ変数です。
指向とは?
引用元:https://dictionary.goo.ne.jp/word/%E6%8C%87%E5%90%91/
つまり、オブジェクト指向プログラミングをざっくり言うと、
「オブジェクトという変数を使うことを目的としたプログラミング」である。
となります。
その「オブジェクト」がわらん!という方へ
オブジェクトの中身はフィールドとメソッド
オブジェクトは、フィールドとメソッドだけで構成されています。
フィールドとは、「値」のことです。
メソッドとは、「機能」のことです。
つまり、オブジェクトは値と機能がセットになった変数とも言えます。
抽象クラス(abstract)や、インターフェース(interface)という概念は一旦おいておきましょう。
それは、基本的なオブジェクト型が何かを感覚的にでもわかるようになってからで構いません。
(例題)電卓オブジェクト
例えば、電卓型のオブジェクトを作るとしましょう。
電卓クラスを作成し、20と10という値を与えて、足し算、引き算、掛け算、割り算を行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
package samples.calculator; /** * 電卓クラス * */ public class Calculator { // フィールド private int num1; private int num2; // コンストラクタ― Calculator(int num1, int num2){ this.num1 = num1; this.num2 = num2; } // メソッド public int addition() { return num1 + num2; } public int subtraction() { return num1 - num2; } public int multiplication() { return num1 * num2; } public int division() { return num1 / num2; } } |
電卓クラスでは、フィールドを用意し、コンストラクターで初期値を設定します。
そして、メソッドで機能を実装して出来上がりです。
その電卓クラスに値を入れて計算してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package samples.calculator; public class Main { public static void main(String...strings) { // new でインスタンス化 //(定義したクラスに値を設定して、オブジェクト変数として使えるようにする) Calculator calc = new Calculator(20, 10); System.out.println(calc.addition()); System.out.println(calc.subtraction()); System.out.println(calc.multiplication()); System.out.println(calc.division()); } } |
以下の出力結果を得ます。
1 2 3 4 5 6 |
30 10 200 2 |
これはごくごく簡単な例ではあります。
しかし、これがオブジェクト指向プログラミングの基本形なのです。
まずはしっかりとこの基本形が体に染みついてくるまで、簡単なクラスを作成して練習してみてください。
オブジェクト指向プログラミング練習題材
会員オブジェクト(Level1)
会員オブジェクトを作成する練習問題を作成しました。
【Java】オブジェクト指向の練習題材(会員オブジェクト)
成績オブジェクト(Level2)
成績を持つ生徒という構造を作る練習題材です。
オブジェクトを持つオブジェクトを学びます。
【Java】オブジェクト指向の練習題材(成績オブジェクト)
会計オブジェクト(Level3)
会計オブジェクトを作成する練習問題を作成しました。
3つのクラスを作成し、相互の関わり合いを学びます。
また、作成手順についても詳細に記載しました。
【Java】オブジェクト指向の練習題材(会計オブジェクト)
まとめ
・オブジェクトとは、フィールドとメソッドを持つ変数である。
・オブジェクト変数は、new(インスタンス化)することで使えるようになる。
・クラスは、オブジェクトを定義した型のことである。