艦これで理解する Java #0 オブジェクト指向プログラミング (OOP)とは[初心者向け]

2020/12/11に公開

はじめに

僕は今年某外資系SIerに入社してJavaのプログラマーとして働いています。艦これが趣味なので艦これを絡めてオブジェクト指向を理解しようという趣旨の記事です。

艦これを知らなくても理解できると思いますが、艦これが嫌いな人はブラウザバックをおすすめします。

OOPとは

OOPとはObject-Oriented Programmingの略称。つまりオブジェクト指向プログラミング。
手続き型プログラミング言語(C言語、COBOL、BASICなど)はデータに対して処理やメソッドを記述するのに対する一方、オブジェクト指向プログラミング言語はデータとメソッドの両方を含むオブジェクトを生成します。

オブジェクト指向プログラミングの利点

クラスとオブジェクトとは

クラスとオブジェクトはオブジェクト指向プログラミングの2つの大きな側面です。

以下はクラスとオブジェクトの関係を表すものです。

駆逐艦クラスに海風、浜風、谷風というオブジェクトがあり、戦艦クラスに大和、金剛、武蔵というオブジェクトがあります。

クラスとはオブジェクトのテンプレートであり、オブジェクトというのはクラスのインスタンス(実体)なのです。

個々のオブジェクトが作られるとき、それらはクラスからすべての変数とメソッドを継承します。継承とはつまり受け継ぐということです。戦艦クラスのオブジェクトは大きな主砲というメソッドを継承し、駆逐艦は対潜能力などのメソッド継承する。そんな感じです。

Discussion