カテゴリ: Ruby 更新日: 2025/12/23

“すべてはオブジェクト”を体感!初心者向けRubyのオブジェクト指向入門【irbで学ぶ】

“すべてはオブジェクト”を体感:irbで学ぶRubyのオブジェクト指向
“すべてはオブジェクト”を体感:irbで学ぶRubyのオブジェクト指向

先生と生徒の会話形式で理解しよう

生徒

「Rubyの本を読んでいたら“すべてはオブジェクト”って書いてありましたけど、どういう意味ですか?」

先生

「Rubyでは数字や文字列、配列やハッシュなど、あらゆるデータが“オブジェクト”として扱われます。」

生徒

「数字や文字もオブジェクトなんですか?それってどうやって確認できるんでしょう?」

先生

「irb(アイアールビー)というRubyの対話ツールを使えば、実際に確認することができますよ。では、実際にやってみましょう!」

1. “すべてはオブジェクト”とは?

1. “すべてはオブジェクト”とは?
1. “すべてはオブジェクト”とは?

Rubyは純粋なオブジェクト指向言語です。つまり、数値、文字列、配列、ハッシュ、trueやfalseといった値、さらにはnil(何もない値)でさえも、すべてがオブジェクトとして扱われます。 ここでいうオブジェクトとは、「データ」と、そのデータに対してできる「操作(メソッド)」がセットになったものだと考えるとイメージしやすいです。

例えば、人を例にすると「名前」や「年齢」がデータで、「歩く」「話す」といった動きがメソッドにあたります。同じように、数字の「1」や文字列の「こんにちは」も、それぞれ性質(データ)とできること(メソッド)を持っているひとつの「モノ=オブジェクト」だと考えます。 プログラミング未経験の方は、まずは「Rubyに出てくるものは、ほとんど全部“モノ(オブジェクト)”だ」とざっくり捉えておけば十分です。

実際に、数値や文字列がオブジェクトであることを確認する簡単なサンプルを見てみましょう。Rubyでは、オブジェクトがどの種類(クラス)に属しているかをclassというメソッドで調べることができます。


1.class
"こんにちは".class
[1, 2, 3].class

Integer
String
Array

この結果から、1Integer(整数)クラス、"こんにちは"String(文字列)クラス、[1, 2, 3]Array(配列)クラスのオブジェクトだと分かります。 同じように、trueやfalse、nilなどもそれぞれ専用のクラスを持ったオブジェクトです。どの値も、ただの「バラバラな記号の集まり」ではなく、クラスという設計図から作られた、機能付きの「モノ」として扱われている、というのがRubyの「すべてはオブジェクト」という考え方です。

この仕組みのおかげで、Rubyでは「オブジェクト.メソッド」という同じ形でさまざまなデータを扱えます。詳しいメソッドの使い方や、数値・文字列ごとの具体的な活用例は、次のセクション以降で順番に見ていきます。

2. irbでRubyのオブジェクトを確認してみよう

2. irbでRubyのオブジェクトを確認してみよう
2. irbでRubyのオブジェクトを確認してみよう

Rubyにはirb(Interactive Ruby)という対話式コンソールが用意されています。 これは、Rubyのコードを一行ずつ入力してすぐに結果を確認できる便利なツールです。

ターミナルを開いて、次のように入力してください。


irb

これで、Rubyを直接試せる環境が準備できました。

3. 数字もオブジェクト

3. 数字もオブジェクト
3. 数字もオブジェクト

まずは数字を確認してみましょう。数字にclassメソッドを呼び出すことで、その数字がどのクラス(設計図)から作られているかが分かります。


1.class

Integer

「Integer(整数)」というクラスのオブジェクトだとわかります。 さらに、数字には計算以外のメソッドもたくさん用意されています。


5.even?   # 偶数かどうかを確認
7.next    # 次の数を取得

true
8

このように、ただの数字に見えるものもRubyでは立派なオブジェクトで、便利なメソッドを呼び出せます。

4. 文字列もオブジェクト

4. 文字列もオブジェクト
4. 文字列もオブジェクト

文字列もオブジェクトです。試しに文字列のクラスを確認してみましょう。


"こんにちは".class

String

「String(文字列)」というクラスのオブジェクトだと分かります。 文字列にもさまざまなメソッドがあり、簡単に操作できます。


"ruby".upcase   # 大文字に変換
"Ruby".downcase # 小文字に変換
"Ruby".length   # 文字数を数える

RUBY
ruby
4

こうして、文字列を加工したり、情報を取り出したりできるのも、文字列がオブジェクトだからです。

5. true・false・nilもオブジェクト

5. true・false・nilもオブジェクト
5. true・false・nilもオブジェクト

プログラムでは条件分岐などで使うtruefalse、値がないことを示すnilも、Rubyではすべてオブジェクトです。


true.class
false.class
nil.class

TrueClass
FalseClass
NilClass

それぞれに専用のクラスがあり、条件式で使う以外の機能も備えています。 これにより、Rubyのコードは非常に柔軟でわかりやすくなります。

6. メソッドを呼び出すということ

6. メソッドを呼び出すということ
6. メソッドを呼び出すということ

オブジェクトに「メソッド」を呼び出すというのは、「そのオブジェクトが持っている機能を使う」ということです。 たとえば数字の.nextや文字列の.upcaseのように、オブジェクト.メソッド名の形で書きます。

この仕組みを理解すると、Rubyでのデータ操作が直感的にできるようになります。

7. irbで体感するのが一番の近道

7. irbで体感するのが一番の近道
7. irbで体感するのが一番の近道

Rubyを学ぶときに「オブジェクト指向」という言葉に難しさを感じる人は多いですが、まずは深く考えず、すべてのデータがオブジェクトであることを体験することが大切です。 irbで数字や文字列をいじってみると、「オブジェクトってこういうことか!」と自然に理解できるようになります。

まとめ

まとめ
まとめ

Rubyの学習において重要な考え方である「すべてはオブジェクト」という概念は、数字や文字列、配列やハッシュといった基本的なデータだけでなく、trueやfalse、nilまでもがオブジェクトとして扱われるという特徴から成り立っています。Rubyの世界では、あらゆる値がそれぞれ専用のクラスを持ち、そのクラスから生成されたひとつの「モノ」として振る舞います。この「モノ」が持つ機能をメソッドとして呼び出し、さまざまな操作を行うことができます。たとえば数字の.nextや文字列の.upcaseなど、普段はただの値として見ているものが実際には多くの機能を備えたオブジェクトであることが分かると、Rubyの表現力豊かな書き方が一段と理解しやすくなります。 とくにirbを使って確認することで、Rubyがどのようにデータを扱っているのかを実際に体験できる点が大きな利点です。irbは一行ずつ入力してすぐに結果が返ってくるため、Rubyのメソッドの動きやオブジェクトの性質を素早く試すことができ、初心者には非常に適した学習方法となります。数字のクラスを確認して「Integer」、文字列なら「String」、trueなら「TrueClass」というように、ひとつひとつ目で見て理解できるのはirbならではの魅力です。 また、Rubyのオブジェクト指向の特徴を理解することで、今後の学習にも大きく役立ちます。新しいメソッドを覚えるときも、「このメソッドはどのオブジェクトに対して呼び出すのか」という視点で考えると理解しやすくなります。Rubyのコードが直感的で読みやすい理由も「オブジェクト.メソッド」という統一された書き方があるからこそであり、自然な文章のようにスラスラ書けるのもそのおかげです。 実際にRubyのオブジェクトに触れる際には、次のようなクラスを自分で作り、オブジェクトを生成してメソッドを呼び出す流れを体験すると、理解がより深まります。


class SampleObject
  def initialize(name)
    @name = name
  end

  def greet
    "こんにちは、#{@name}さん。Rubyのオブジェクトを楽しんでいますか?"
  end
end

sample = SampleObject.new("たろう")
puts sample.greet

このコードではSampleObjectというクラスを自分で作り、そのクラスからオブジェクトを生成しています。オブジェクトに対してgreetメソッドを呼び出せば、Rubyでオブジェクト指向がどのように働いているのかが実感できるでしょう。数字や文字列と同じように、自分で作ったクラスからもオブジェクトが生まれるという仕組みは、Rubyの柔軟でわかりやすい構造を理解するうえで重要なポイントになります。 さらに、Rubyの「すべてがオブジェクト」という概念に慣れていくと、コード全体をオブジェクトのメッセージのやり取りとして捉える習慣が身につき、複雑な処理でも自然と構造が見えてくるようになります。配列のメソッドである.map.select、文字列の.split、数値の.timesなども、オブジェクトが持つ機能を活用しているだけだと理解できるようになり、Rubyの使いやすさをさらに感じるはずです。 学習を進めるうえでは、難しく考えすぎず、まずは実際に手を動かして試しながら理解していくことが何よりも大切です。特にirbは「とりあえず試してみる」ための最高のツールなので、気になったメソッドやオブジェクトはどんどんその場で確認していくと、自然とRubyの仕組みが体に染みついていきます。数字、文字列、配列、ハッシュ、true、false、nilといったさまざまな値がすべてオブジェクトだと分かれば、Rubyのコードを見る目が大きく変わり、より高度な書き方も理解しやすくなります。

先生と生徒の振り返り会話

生徒

「今日の内容で、“すべてはオブジェクト”という言葉の意味がやっと分かりました!数字も文字もオブジェクトなんて驚きでした!」

先生

「そうでしょう。Rubyではどんな値にもクラスがあり、そのクラスから作られたオブジェクトとして扱えるんですよ。irbで実際に確認するとより理解が深まります。」

生徒

「はい!1.classがIntegerになったり、文字列がStringになったり、確かに全部オブジェクトだって確認できました。自分でクラスを作ってメソッドを呼ぶのも楽しかったです。」

先生

「その調子ですよ。Rubyの魅力は、オブジェクトどうしがメッセージをやり取りするようにコードを書くことができるところです。これからもっと複雑なクラスを作れるようになりますから、どんどん挑戦してくださいね。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Rubyで「すべてはオブジェクト」とはどういう意味ですか?

Rubyでは、数値・文字列・配列・ハッシュ・true・false・nilといったすべての値がオブジェクトとして扱われます。これはRubyが純粋なオブジェクト指向言語であることを示しており、全てのデータがメソッドを持つオブジェクトという考え方です。
関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう
No.8
Java&Spring記事人気No8
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説