カテゴリ: Ruby 更新日: 2026/02/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のコードを1行ずつ入力して結果をすぐに確認できる、いわば「Ruby専用の電卓」のようなツールです。Rubyのオブジェクトを触りながら覚えるのに、とても相性が良い環境です。

まずは、パソコンのターミナル(macOSやLinuxなら「ターミナル」、Windowsなら「PowerShell」や「コマンドプロンプト」でもOK)を開いて、次のように入力してみてください。


irb

Enterキーを押すと、次のような表示に変わります。


irb(main):001:0>

この行の「irb(main):001:0>」の部分が、Rubyのコードを待っている合図(プロンプト)です。ここに数値や文字列を入力すると、そのまま評価して結果を返してくれます。

試しに、簡単な計算と文字列を入力してみましょう。


1 + 1
"こんにちは"

2
"こんにちは"

このように、入力したRubyコードに対して、すぐ下に結果が表示されます。プログラムファイルを保存したり、実行コマンドを覚えたりしなくても、「思いついたことをすぐ試す」ことができるのが、irbの大きなメリットです。

さらに、先ほどの「すべてはオブジェクト」という話を、irbを使ってその場で確かめることもできます。オブジェクトの種類(クラス)を調べるclassメソッドを使ってみましょう。


1.class
"こんにちは".class

Integer
String

1という数値はIntegerクラス、"こんにちは"という文字列はStringクラスのオブジェクトであることが分かります。 このように、irbは「この値はどんなオブジェクトなんだろう?」と疑問に思ったときに、すぐ確認できる学習用ツールとしてとても便利です。より具体的なオブジェクトの使い方は、続くセクションで数値や文字列ごとに掘り下げていきましょう。

irbを終了したいときは、プロンプトにexitまたはquitと入力してEnterキーを押せばOKです。操作を間違えてもパソコンの設定が壊れることはないので、安心していろいろ入力して試してみてください。

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
Ruby
Rubyの文字エンコーディング入門!UTF-8・マジックコメント・外部/内部エンコーディングを完全解説
New2
Rails
Rails GoodJob入門!PostgreSQLベースのバックグラウンド処理を初心者向けに完全解説
New3
Ruby
Rubyで学ぶビット演算入門:&・|・^・~・<<・>>の基礎と実例
New4
Rails
RESTとRailsの関係を徹底解説!resources設計と7つの標準アクションを初心者向けにわかりやすく解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.3
Java&Spring記事人気No3
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.7
Java&Spring記事人気No7
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説