C#におけるオブジェクト指向の概要

「オブジェクト指向」の根本的な部分である「オブジェクト指向の概要」について紹介します。

オブジェクト指向を簡単に表すと「処理をまとめて、分かりやすくすること」が基本となっていて、その考え方が変化の激しい現代の開発手法としてマッチしているため広く普及されていると考えています。「オブジェクト指向が少し苦手だな・・・」と考えている人はまずは根本から理解しましょう。

オブジェクト指向の基礎

オブジェクト指向とはアプリケーションの設計や実装における考え方の一つであり、処理に必要なデータや処理をオブジェクトと呼ばれるまとまりとして定義して「機能」とし、そうした機能であるオブジェクトを組み合わせてアプリケーションを構築していく手法です。

オブジェクト指向はデータや処理を一つの塊塊りとして取り扱い、関連のある内容をまとめて扱うことができます。C#で言えば、クラスやメソッド、プロパティといった記述方法を利用してオブジェクトを作り上げていき、出来上がったオブジェクトを組み合わせて問題解決を行っていくための総称のことになります。

オブジェクト指向の核心

オブジェクト指向は様々な文脈で語られているアプリケーション開発の考え方の一つです。「オブジェクト指向」を最も単純な言葉で表すと「クラスやメソッドといったプログラミングの機能を利用して、表現したい処理をまとめた上で再利用しやすいようにする」かなと考えています。

オブジェクト指向とは「モノ」「オブジェクト」として考える方法という説明が一般的ですが、それはあくまでも「行いたい処理をまとめる」という部分からきていると考えています。また「再利用」という点も重要で、それは「可能な限り独立性を高める」ということになります。

そんな中でも、オブジェクト指向において特に重要な部分は「まとめる」だと考えています。「処理」がまとめられた部品のような、「部品のような機能」を組み合わせて実現したいアプリケーションの処理内容を「組み上げる」ことがオブジェクト指向の源流だと考えています。

オブジェクト指向の重要性

なぜ私たちは「オブジェクト指向」を使用してアプリケーションを組み上げようとするのでしょうか。それは「オブジェクト指向の核心」でも触れた「まとめる」と「再利用可能」という考え方に起因しています。

処理をまとめて再利用可能な状態にするということは、それぞれの機能を「独立している」として考えることができ、一つの箇所の変更が他の箇所に影響を及ぼすことが少なくなります。またオブジェクト指向を取り入れることで、機能がしっかりと定義されていれば大人数での開発も可能となります。

オブジェクト指向を取り入れることで、アプリケーションの変更による影響を最小限に留めることができ、変更箇所が容易に特定することが可能になるのです。従来の手続き的な流れですべての機能を盛り込んだ大きなコード(関数)を書くのではなく、行いたい処理を持っている「機能」を、必要に応じて帯びだす考え方が大きな転換点であったのかもしれません。

巨大な関数を書く場合、小さな修正が及ぼす影響がどの範囲になるのかが不明瞭でした。しかしオブジェクト指向を取り入れることによって、変更の影響が「まとまり」の内部で閉じれるのは大きな利点です。調査する範囲が狭まるので、その分、コード修正への労力が小さくなります。

オブジェクト指向の重要性は大きく分けると「変更への柔軟性」と「大人数での開発」だと考えられており、その点においてアプリケーションの規模が大きくなっている現代において重宝されている開発手法となっています。