Closed11

オブジェクト指向

ピン留めされたアイテム
フミ@勉強記録アウトプットフミ@勉強記録アウトプット

オブジェクト指向とは?

オブジェクト指向とは、オブジェクトの独立性を確保しつつ、それぞれの役割や振る舞いを定義して開発を進める技法。
メリットとして、「コードの再利用性」・「保守・拡張性」・「開発の効率化」を向上させる。
デメリットは、「学習コストが高い」です。オブジェクト指向が抽象的な概念なので、理解して実践するまでコストが必要です。

オブジェクト指向におけるキーワード

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

オブジェクト指向の3大要素

  • カプセル化:データとメソッドをまとめて保護
  • 継承:クラスにおいて親子クラスを作成
    • 汎化:子クラスから共通の性質をまとめて親クラスを生成する
    • 特化:親クラスを細かく分けて、子クラスを作成する
  • ポリモーフィズム:同じメソッドでもオブジェクトによって、異なる動作を実現
フミ@勉強記録アウトプットフミ@勉強記録アウトプット

2025年4月現在、RareTECH・基本情報技術者を学習中
オブジェクト指向が学習対象となっているので、自分用の学習メモをまとめます。

オブジェクト指向について、自分の言葉で説明できるようになることがゴールです。

フミ@勉強記録アウトプットフミ@勉強記録アウトプット

自分の言葉で説明するには?

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

オブジェクト指向の提唱者アランケイがオブジェクト指向についてどのように考えていたかをまとめているnote
https://note.com/go_fujita/n/n1d157e658f9a

perplesityAIで検索したら「Dr. Alan Kay on the Meaning of Object-Oriented Programming」という2003年のアランケイが送付したメールを紹介されたので、その流れで上の記事を知りました。

フミ@勉強記録アウトプットフミ@勉強記録アウトプット

オブジェクト指向のキーワード整理

  • クラス:設計図やひな形
  • オブジェクト(インスタンス):クラスを参照して出力される実体
  • データ:オブジェクトの状態
  • メソッド:オブジェクトの操作
フミ@勉強記録アウトプットフミ@勉強記録アウトプット

オブジェクト指向の3原則

  • カプセル化:データとメソッドをまとめて保護
  • 継承:クラスに親子関係を形成する
    • 汎化:子クラスから共通の性質を取り出して新しい親クラスを形成
    • 特化:親クラスを細分化して、子クラスを作成
  • ポリモーフィズム:同じインターフェイスで異なる動作
フミ@勉強記録アウトプットフミ@勉強記録アウトプット

オブジェクト指向とは?

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

フミ@勉強記録アウトプットフミ@勉強記録アウトプット

オブジェクト指向のデメリット

  • 学習コストの高さ
    • まさに今実感している
  • コードの複雑化
    • 最初の方で失敗するとクラスの継承による依存関係などが原因でコードが複雑になりやすい
このスクラップは5ヶ月前にクローズされました