カプセル化(Encapsulation)
オブジェクトのデータ(フィールド)とそれに関連するメソッドを一つの単位、つまりクラスに組み込むプロセスです。カプセル化は、オブジェクトの内部状態を外部から直接アクセスされることなく保護し、オブジェクトのデータとメソッドの詳細を隠蔽します。これにより、外部のコードがオブジェクトの内部状態に依存することが減り、より安全でメンテナンスしやすいコードを実現できます。
継承(Inheritance)
あるクラス(スーパークラスまたは親クラス)の特性(フィールドやメソッド)を別のクラス(サブクラスまたは子クラス)に引き継ぐことができる機能です。継承を使用すると、既存のコードを再利用して新しいクラスを作成できるため、コードの重複を減らし、拡張性と保守性を向上させることができます。
多様性(Polymorphism)
異なるクラスのオブジェクトが同じインターフェースやメソッドを通じて操作される能力です。これには主に2種類あります:
コンパイル時多様性(静的多様性): メソッドオーバーロードにより、同じ名前のメソッドが異なる引数を取ることができます。
実行時多様性(動的多様性): メソッドオーバーライドにより、サブクラスがスーパークラスのメソッドを再定義することができます。
これらの要素は、オブジェクト指向プログラミングの基本的な概念であり、より組織化された、再利用可能で、拡張しやすいプログラムの作成を可能にします。