Rubyにおけるクラスの定義とインスタンス化は、オブジェクト指向プログラミング(OOP)の中核をなす概念です。以下に、基本的な考え方と実装例を交えて詳しく説明します。
1. クラスの定義とは
Rubyでは、classキーワードを使ってクラスを定義します。クラスはオブジェクトの設計図であり、属性(変数)と振る舞い(メソッド)を定義するものです。
基本構文
2. クラスの定義例
このDogクラスでは、犬の名前と種類(breed)を属性として持ち、barkとinfoというメソッドで振る舞いを定義しています。
3. インスタンス化とは
定義されたクラスをもとに実際のオブジェクトを作ることを「インスタンス化」と呼びます。これは、newメソッドを使って行います。
インスタンス化の例
-
Dog.new(...)は、Dogクラスの新しいインスタンス(=オブジェクト)を生成します。 -
initializeメソッドはインスタンス生成時に自動的に呼ばれ、インスタンス変数の初期化を行います。
4. クラスの特徴と役割
-
再利用性:同じ構造のオブジェクトを簡単に複数作れる。
-
カプセル化:内部のデータ(インスタンス変数)を外部から隠蔽できる。
-
メソッドによる振る舞いの定義:オブジェクトごとに異なる状態でも同じメソッドを呼び出せる。
まとめ
| 用語 | 内容 |
|---|---|
| クラス | オブジェクトの設計図。属性とメソッドを定義する |
| インスタンス化 | newを使ってクラスから実体(オブジェクト)を作る操作 |
| initialize | オブジェクト生成時に自動的に呼ばれる初期化メソッド |
| インスタンス変数 | @が付いた変数。オブジェクトごとのデータを保持 |
生成日:2025/05/03