【Ruby】クラスについて徹底解説!

Ruby

クラスとは

クラスとはメソッドなどの処理やオブジェクトの属性などのデータを定義しておく設計図みたいなものです。

クラスって何のために使うの?

Rubyはオブジェクト指向の言語で、このような言語ではクラスという概念はとても重要です。
例えば下記のオブジェクトを定義したとします。

ruby
1
2
dog = "犬"
cat = "猫"

ここでは"犬"と"猫"の2つの文字列は異なるオブジェクトですね。
しかし文字列オブジェクトなのでこの2つは文字を持っているという共通点があります。
Rubyでは""で囲うことにより自動で文字列オブジェクトとして作成されます。

文字列オブジェクトには「文字を持てる」など共通事項がたくさんあります。
そして使うメソッドも文字列独自のものがたくさんあります。

それならば共通しているものは全てあらかじめ一つのまとまりとして用意しておくと便利ですよね。
そのまとまりがクラスになります。

一つ例を取ってみましょう。
我々人間を考えた時に共通しているものとして「名前」、「性別」、「年齢」などがありますね。
一つのオブジェクトを作成する時、いちいちこれらの属性をセットしていくのはとても大変な作業です。
なのでこういう場合はhumanクラスを作成し、そこからオブジェクトを作成すればすでにこれらの属性を持った状態で1つのオブジェクトを作成することができます。

それでは実際にクラスを定義してみましょう。

ruby
1
2
3
class クラス名(先頭は大文字)
(変数やメソッドの定義)
end

上の記述でクラスが定義できます。
先ほどのhumanを例にとると下記のように書けます。

ruby
1
2
3
class Human

end

実際にクラスからオブジェクトを作成するには下記のように記述します。

ruby
1
human = Human.new

このクラスから作成されたオブジェクトをインスタンスと呼びます。
クラスとインスタンスを使うとコードを書くのが非常に便利になります。

まとめ

クラスとはメソッドなどの処理やオブジェクトの属性などのデータを前もって定義しておく設計図みたいなものと覚えておきましょう!