Rubyにおけるオブジェクト指向プログラミング(OOP)の中核となる概念の一つが「クラス」です。Rubyは純粋なオブジェクト指向言語であり、数値や文字列、配列などの基本的なデータ型さえもすべてオブジェクトです。そして、これらのオブジェクトはすべて何らかの「クラス」のインスタンス(実体)です。
1. クラスとは何か
**クラス(class)とは、オブジェクトの設計図にあたるものです。クラスには、オブジェクトが持つ属性(状態)やメソッド(振る舞い)**を定義します。Rubyではclassキーワードを使ってクラスを定義します。
2. クラスの基本構文
クラス名は慣習として先頭を大文字にしたキャメルケースで書きます(例: Person, Car など)。
3. クラスの定義例
説明:
-
initializeはコンストラクタで、Person.newでオブジェクトが生成されたときに自動的に呼ばれます。 -
@nameや@ageはインスタンス変数で、個々のオブジェクトがそれぞれ異なる値を持ちます。 -
introduceはインスタンスメソッドで、そのオブジェクトに対して呼び出すことができます。
4. クラスのインスタンス生成とメソッド呼び出し
5. クラスの特徴
-
カプセル化: データとそれを操作するメソッドを一つの単位(クラス)にまとめる。
-
再利用性: 同じ設計図(クラス)を使って複数のオブジェクトを生成可能。
-
継承: あるクラスをベースにして別のクラスを作成可能(詳細は「継承」の項目で解説)。
-
ポリモーフィズム(多態性): 同じメソッド名でも、オブジェクトによって異なる挙動が可能。
6. アクセサメソッド(attr_accessor など)
attr_accessor など)インスタンス変数へのアクセスにはアクセサメソッドを使うのが一般的です。
まとめ
Rubyにおけるクラスは、オブジェクトを定義・操作するための基本単位です。クラスを使うことで、プログラムを柔軟かつ再利用可能な形で構築することができます。OOPの三大要素(カプセル化、継承、ポリモーフィズム)を活用することで、保守性の高いコードが書けるようになります。
生成日:2025/05/03