クラス

読み

くらす

意味

  • オブジェクト指向プログラミングでオブジェクトの設計図となるテンプレートでデータ(プロパティ)と処理(メソッド)をまとめて定義する
  • クラスからインスタンスを生成し継承・カプセル化・ポリモーフィズムなどのOOP原則を実現する基本単位
  • Java・Python・C++などの言語で中心的な概念だがJavaScriptではプロトタイプベースでクラスは糖衣構文として存在する

比喩

車の設計図のようなもの。設計図(クラス)から実際の車(インスタンス)を何台でも製造できる。

語源

class = 種類・分類・階級。ラテン語のclassis(集団)が語源

例文

  • Userクラスを定義してname・email・passwordのプロパティとloginメソッドを持たせ複数のユーザーインスタンスを生成した
  • Animalクラスを継承してDogクラスを作成しbarkメソッドを追加して継承の仕組みを活用した
  • TypeScriptでprivate修飾子を使ってクラスのプロパティをカプセル化し外部からの直接アクセスを制限した

よくある勘違い

  • クラスとインスタンスを混同すること → クラスは設計図でインスタンスは実体
  • すべてをクラスにすべきだと思うこと → 関数型アプローチの方が適切な場合もある
  • 継承を多用しすぎること → 深い継承階層は保守性を下げるのでコンポジションを検討すべき

関連用語