🎉

オブジェクト指向とは(1/24編集済)

2024/01/23に公開

オブジェクト指向という単語自体はよく聞きますが、実際になんなのか、、、
特徴やメリット等を簡単にメモしていきます。

オブジェクト指向とは

プログラミングでプログラムを作る方法の一つです。オブジェクトというものを使って、プログラムの構造や動作を表現します。オブジェクトは、データや処理をまとめたもので、クラスというひな形から作られます。オブジェクト指向には、カプセル化、抽象化、継承、ポリモーフィズムという特徴があります。

概念

オブジェクト指向の概念としては、「オブジェクト(モノ)」と「操作」を分けて作っていき組み立てて完成させる考え方です。

~リモコンを作る~
リモコンに必要な要素

  • モノ:リモコン本体
  • 操作1:電源OFF
  • 操作2:チャンネル変更

上記のようにモノと操作を組み立てることでリモコンが完成します。

特徴

  1. クラスとオブジェクト
  • クラス
    クラスはオブジェクトの設計図であり、データ属性やメソッド(操作)を定義します。
  • オブジェクト
    クラスの実体であり、その設計に基づいてデータとメソッドを持ちます。
  1. カプセル化
    データとそのデータを操作するメソッドを一つの単位にまとめる原則です。これにより、外部からの不正なアクセスを制限し、オブジェクトの内部の実装を隠蔽します。
  2. 継承
    既存のクラスから新しいクラスを派生させ、既存の機能を再利用する仕組みです。これにより、クラスの階層構造を形成し、コードの再利用性を向上させます。
  3. ポリモーフィズム
    同じ名前のメソッドを異なるクラスで使用できる機能です。これにより、共通のインターフェースを持つオブジェクトを統一的に扱うことができます。
  4. 抽象化
    問題やシステムを単純化し、重要な側面に焦点を当てるプロセスです。抽象化により、複雑な現実世界の概念をプログラム内でモデル化しやすくなります。

メリット・デメリット

メリット・デメリットについての説明については下記のサイトがわかりやすかったです。
https://www.sejuku.net/blog/5973#index_id1

参考

https://techmania.jp/blog/programming0004/
https://products.sint.co.jp/topsic/blog/object-oriented

Discussion