⚓
艦これで理解する Java #0 オブジェクト指向プログラミング (OOP)とは[初心者向け]
はじめに
僕は今年某外資系SIerに入社してJavaのプログラマーとして働いています。艦これが趣味なので艦これを絡めてオブジェクト指向を理解しようという趣旨の記事です。
艦これを知らなくても理解できると思いますが、艦これが嫌いな人はブラウザバックをおすすめします。
OOPとは
OOPとはObject-Oriented Programmingの略称。つまりオブジェクト指向プログラミング。
手続き型プログラミング言語(C言語、COBOL、BASICなど)はデータに対して処理やメソッドを記述するのに対する一方、オブジェクト指向プログラミング言語はデータとメソッドの両方を含むオブジェクトを生成します。
オブジェクト指向プログラミングの利点
- 実行が早くて簡単
- プログラムに対して明確な構造を与える
- Javaのコードを[DRY](https://ja.wikipedia.org/wiki/Don't_repeat_yourself#:~:text=Don't repeat yourself (DRY,でないことを強調する。) (Don't Repeat Yourself)に保ち、保守性が高く、修正、デバッグを容易にする
- より少ないコード、より短い開発時間で完全に再利用可能なアプリケーション作成を可能にする
クラスとオブジェクトとは
クラスとオブジェクトはオブジェクト指向プログラミングの2つの大きな側面です。
以下はクラスとオブジェクトの関係を表すものです。
駆逐艦クラスに海風、浜風、谷風というオブジェクトがあり、戦艦クラスに大和、金剛、武蔵というオブジェクトがあります。
クラスとはオブジェクトのテンプレートであり、オブジェクトというのはクラスのインスタンス(実体)なのです。
個々のオブジェクトが作られるとき、それらはクラスからすべての変数とメソッドを継承します。継承とはつまり受け継ぐということです。戦艦クラスのオブジェクトは大きな主砲というメソッドを継承し、駆逐艦は対潜能力などのメソッド継承する。そんな感じです。
Discussion