学習目的 | 学生は以下を行うことができるようになります:
|
前提条件 | 学生は以下を理解している必要があります:
|
コンピュータサイエンスにおける抽象化は、何か大きなものの簡略化された表現を提供します。それは最も必要な情報だけを引き出し、他のすべては隠します。
関数は再利用可能な抽象化です。呼び出されると、ユーザーは関数の全コードを再度書いたり見たりすることなく、その利点を享受できます。
コーディング言語の一般的な例はprint()です。そのコードのほとんどは隠されているため、コーダーは印刷する必要のあるものに焦点を当て、他のコードは気にする必要がありません。
なぜ抽象化を作成するのか
抽象化はプログラムを整理し、複雑さを軽減し、コードを更新しやすくします。
ショップの例
ゲーム内ショップに異なる2つのバックパックがあるとしましょう。2つ目のバックパックのコードは、少しの変更点(異なる名前や販売価格など)を加えてコピーされました。


ここでは、コードは抽象化されていません。各バックパックにはそれぞれのスクリプトがあります。次のようなものを追加しようとしたらどうなるでしょうか?
さらに20個のバックパック。
一部のバッグが他のバッグよりも多くのアイテムを持つことができる能力。
すべてのバックパックが25%オフになるホリデーセール。
抽象化を設計する
別々のバックパックスクリプトを持つことは、バックパックの追加や更新に時間がかかります。代わりに、抽象化を作成して、さまざまな場所で更新する必要がないようにしましょう。
抽象化を設計する際は、以下を決定します:
どの部分のコードが再利用されるか。
毎回どの要素が異なるか。
抽象化は変更される情報を引き出し、他を隠すべきです。バックパックの例では、異なる点はバックパックの名前、価格、および運べるアイテムの数です。したがって、抽象化の例として、バックパックの名前を受け取り、その価格と容量を返す関数を設計することができます。
![]() | ![]() |
抽象化なし | 抽象化 |
| 4つの異なるバックパック、更新するための4つの異なる場所。 | ユニークな情報を検索するために関数を使用。更新する場所は1か所だけ。 |
結論
抽象化は、詳細を省くことで何か大きなものの簡略化された表現を提供します。抽象化を作成するかどうかを決定する際は、しばしば再利用されるが毎回小さな変更があるコードを探します。たとえば、バックパックのような一般的なアイテムは、価格と容量を見つける再利用可能な関数に抽象化できます。
抽象化を用いてコードを計画・構造化する時間をかけることで、コーダーは重要なことに集中できます。この時間への投資は、プログラムをより良く整理し、それらを更新しやすくします。

