Closed11
オブジェクト指向
ピン留めされたアイテム

オブジェクト指向とは?
オブジェクト指向とは、オブジェクトの独立性を確保しつつ、それぞれの役割や振る舞いを定義して開発を進める技法。
メリットとして、「コードの再利用性」・「保守・拡張性」・「開発の効率化」を向上させる。
デメリットは、「学習コストが高い」です。オブジェクト指向が抽象的な概念なので、理解して実践するまでコストが必要です。
オブジェクト指向におけるキーワード
- クラス:設計図やひな型
- オブジェクト(インスタンス):クラスを参照して出力される実体
- データ:オブジェクトの状態
- メソッド:オブジェクトの操作
オブジェクト指向の3大要素
- カプセル化:データとメソッドをまとめて保護
- 継承:クラスにおいて親子クラスを作成
- 汎化:子クラスから共通の性質をまとめて親クラスを生成する
- 特化:親クラスを細かく分けて、子クラスを作成する
- ポリモーフィズム:同じメソッドでもオブジェクトによって、異なる動作を実現

2025年4月現在、RareTECH・基本情報技術者を学習中
オブジェクト指向が学習対象となっているので、自分用の学習メモをまとめます。
オブジェクト指向について、自分の言葉で説明できるようになることがゴールです。

オブジェクト指向についてpythonでハンズオンできる記事

自分の言葉で説明するには?
- オブジェクト指向は3つの思想から成立する考えであること
(継承・カプセル化・ポリモーフィズム)- クラスとは?
- 継承とは?
- カプセル化とは?
- ポリモーフィズムとは?
- オブジェクト指向によって、実現していること
- 総括(上の説明を簡単にまとめる)

オブジェクト指向の提唱者アランケイがオブジェクト指向についてどのように考えていたかをまとめているnote
perplesityAIで検索したら「Dr. Alan Kay on the Meaning of Object-Oriented Programming」という2003年のアランケイが送付したメールを紹介されたので、その流れで上の記事を知りました。

オブジェクト指向のキーワード整理
- クラス:設計図やひな形
- オブジェクト(インスタンス):クラスを参照して出力される実体
- データ:オブジェクトの状態
- メソッド:オブジェクトの操作

オブジェクト指向の3原則
- カプセル化:データとメソッドをまとめて保護
- 継承:クラスに親子関係を形成する
- 汎化:子クラスから共通の性質を取り出して新しい親クラスを形成
- 特化:親クラスを細分化して、子クラスを作成
- ポリモーフィズム:同じインターフェイスで異なる動作

オブジェクト指向とは?
現時点での自分の言葉で表現する
オブジェクトの独立性を確保することにより、柔軟なソフトウェア開発を実現させる方法

オブジェクト指向のメリット
下記の性能を向上させる
- コードの再利用性
- 保守性
- 拡張性
- 開発の効率化

オブジェクト指向のデメリット
- 学習コストの高さ
- まさに今実感している
- コードの複雑化
- 最初の方で失敗するとクラスの継承による依存関係などが原因でコードが複雑になりやすい

オブジェクト指向についてメモを作成完了(先頭で固定)
このスクラップはクローズします
このスクラップは5ヶ月前にクローズされました