オブジェクト指向
おぶじぇくとしこう
ひとことで言うと
データと操作をひとまとめにした「オブジェクト」を基本単位として設計・開発するアプローチで、カプセル化・継承・ポリモーフィズムが主要特徴。
解説
データ(属性)とそれに対する操作(メソッド)をひとまとめにした「オブジェクト」を基本単位としてシステムを設計・開発するアプローチ。カプセル化、継承、ポリモーフィズムの3つが主要な特徴である。再利用性や保守性の高いソフトウェア開発を実現し、UMLによるモデリングと組み合わせて使用されることが多い。
くわしく解説
オブジェクト指向とは、現実世界の物事をデータ(属性)と操作(メソッド)を一体化した「オブジェクト」として表現し、オブジェクト間のメッセージのやり取りによってシステムを構築するプログラミング・設計パラダイムである。3大特徴として、内部実装を隠蔽して外部からの不正アクセスを防ぐカプセル化、既存クラスの属性・メソッドを引き継いで新クラスを定義する継承、同じメッセージに対して各オブジェクトが異なる動作をするポリモーフィズム(多態性)がある。Java・Python・C++などの主要言語がオブジェクト指向をサポートし、UMLを用いた設計手法と親和性が高い。再利用性・保守性・拡張性の向上が主なメリットであり、手続き型プログラミングと対比して理解する必要がある。
具体例で考えよう
図書館システムを設計する際、「本」というクラスにタイトル・著者・ISBN(属性)と貸出・返却・在庫確認(メソッド)をまとめ、「電子書籍」クラスは「本」クラスを継承しながらダウンロード機能を追加する。
試験対策ポイント
カプセル化・継承・ポリモーフィズムの3特徴の定義が頻出。手続き型・関数型との違い、クラスとインスタンスの関係、UMLとの関連も確認。「情報隠蔽」はカプセル化と同義として整理。