プログラミングを学んでいる方は、一度は耳にしたことがあるであろう「クラス」
オブジェクト指向で登場するプログラミングにおいて非常に重要な概念ですが、学び初めの頃は理解し難い概念だと思います。
簡単に言うと、プログラミングの世界で使用できる道具箱の中でも、特別な効力を持つ道具です。
これを使うことで、プログラムを組む際の設計の手間やコード記述の手間を簡略化することができるのです。
オブジェクト指向とは、プログラムを作る際の考え方の一つで、現実世界の物事をコンピュータ内で再現する方法だよ!
クラスとは?
冒頭で「特別な効力を持つ道具」と表現したクラスですが、プログラミング的に言うと属性(プロパティ)と機能(メソッド)の2つの要素を持ったオブジェクトになります。
ここでは、初心者の方も理解しやすいようにコンピュータの部品をクラスに例えて説明していきます。
コンピュータの部品とクラス
現代社会で必要不可欠なコンピュータは、さまざまな部品で構成されています。
それらの部品をクラスに例えると以下のように表現出来ます。
- CPU(中央処理装置)クラス:コンピュータの頭脳であり、計算や処理を担当します。
- RAM(ランダムアクセスメモリ)クラス:データの一時的保管を担当します。
- ストレージクラス:データの永久的保管を担当します。
- モニタークラス:コンピュータ内で処理された内容結果の表示を担当します。etc.
では、クラスの特徴である「属性(プロパティ)」と「機能(メソッド)」とは何か解説していきます。
例えば、CPUと言っても様々なCPUがこの世には存在します。メーカはどこか、シリーズの世代は何か、コア数は何か etc.
この様に「メーカ」「シリーズの世代」「コア数」が、CPUクラスの属性(プロパティ)になります。
もっと身近な「人間」をクラスに例えると、「名前」「性別」「身長」「体重」等が属性(プロパティ)になるよ!
そして、CPUには「計算する」「処理を実行する」「他の部品の動作を管理する」という振る舞いがあります。このような振る舞いが、CPUクラスの機能(メソッド)になるのです。
▼ CPUクラスのイメージ図
CPUクラスが一つあれば、後は属性を何にするか指定するだけで様々な属性(プロパティ)を持ったCPUを生成することが出来ます。
▼ CPUクラスから実体を生成したイメージ図
要するに、クラスとは「使い回せるテンプレート」のようなもの!
クラスに基づいて生成された実体は、インスタンス(または、オブジェクト)と呼びます。
変数(フィールド)、属性(プロパティ)、機能(メソッド)のことを「クラスのメンバ」と呼びます。
▼ クラスのメンバ
実際のプログラムでは、クラスのメンバを定義することで「特別な効力を持つ道具」として使用していきます。
定義の仕方は、後日記事にする予定ですので完成次第公開させて頂きます。
まとめ
- 設計の手間やコード記述の簡略化するために考えられた仕組み
- 変数(フィールド)、属性(プロパティ)、機能(メソッド)の3つをクラスのメンバと呼ぶ
さいごに
最後まで一読頂き、ありがとうございます!
初心者の方にも分かりやすいよう、コンピュータの部品を例に「クラス」の説明をしてみましたが、いかがだったでしょうか。
もし記事が少しでも参考になったなと思ったら、応援クリックして頂けると嬉しいです🐤♡
にほんブログ村
コメント