カテゴリ: Ruby 更新日: 2026/02/28

Rubyの基本用語を一気に理解:オブジェクト・メソッド・クラス・モジュールとは?

Rubyの基本用語を一気に理解:オブジェクト・メソッド・クラス・モジュールとは?
Rubyの基本用語を一気に理解:オブジェクト・メソッド・クラス・モジュールとは?

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

生徒

「Rubyを勉強しているんですが、『オブジェクト』とか『クラス』って言葉がよく出てきます。正直、意味が全然わからないです…。」

先生

「最初は難しく感じる言葉ですが、Rubyを理解するうえでとても大事な基本用語です。一つずつ丁寧に説明していきますよ。」

生徒

「お願いします!できるだけイメージしやすい例で教えてください!」

先生

「もちろんです。Rubyの世界を『身近な例』でわかりやすく説明していきますね。」

1. オブジェクトとは?

1. オブジェクトとは?
1. オブジェクトとは?

Rubyでは、すべてのデータはオブジェクトです。オブジェクトとは、「値そのもの」と「その値を扱うための機能」がひとまとまりになったものだと考えるとわかりやすいです。プログラムの世界に出てくる“登場人物”は、全部オブジェクトだと覚えておきましょう。

たとえば「りんご」をイメージしてみてください。りんごには「赤い」「200gくらい」といった性質(情報)があり、「食べる」「切る」といった行動もできます。この「性質」と「行動」がセットになったものが、Rubyでいうオブジェクトのイメージです。現実世界のものを、そのままプログラムの中に持ってきたような感覚です。

では、実際にRubyで文字列や数値、配列がオブジェクトになっている様子を確認してみましょう。


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

String
Integer
Array

この結果から、文字列の「こんにちは」はString、数値の123Integer[1, 2, 3]Arrayというクラスのオブジェクトであることがわかります。「データの種類ごとにクラスがあり、そのクラスから作られた実体がオブジェクト」とイメージしておくと、次に学ぶ用語もスムーズに理解しやすくなります。

Rubyの基本として、「文字列も数値も配列も、すべてはオブジェクト」という感覚になじんでおくと、このあとの学習で出てくるメソッドやクラスの説明もぐっと理解しやすくなります。

2. メソッドとは?

2. メソッドとは?
2. メソッドとは?

メソッドは、オブジェクトに「こうしてね」とお願いするための命令のことです。たとえば、リモコンのボタンを押すとテレビがチャンネルを変えたり音量を変えたりしますよね。この「ボタンを押す」という行為が、プログラムの世界ではメソッドにあたります。

さきほどの「りんご」の例でいえば、「りんごを切る」「りんごを洗う」といった“やってほしいこと”がメソッドです。りんごというオブジェクトに対して、「切る」というメソッドを実行するイメージです。Rubyでは、このようにオブジェクトにメソッドを使って指示を出し、さまざまな処理を行います。

では、実際に文字列オブジェクトにメソッドを使ってみましょう。


name = "taro"
puts name.upcase

TARO

この例では、文字列オブジェクト"taro"に対してupcaseメソッドを使い、大文字に変換しています。name.upcaseは「nameに対してupcaseというメソッドを呼び出す」と読みます。「小文字のままだと見づらいから、大文字にして表示してね」と文字列オブジェクトにお願いしているイメージです。

メソッドは「値を変える」だけでなく、「値について教えてもらう」ときにも使えます。たとえば、文字列の長さ(何文字か)を調べるメソッドもあります。


message = "hello"
puts message.length

5

このコードでは、文字列"hello"に対してlengthメソッドを呼び出し、「何文字あるか」を教えてもらっています。このように、メソッドはオブジェクトに「変換して」「計算して」「教えて」といったさまざまな指示を出すための基本的なしくみです。Rubyのプログラムでは、このメソッドをどう使うかがとても大事になってきます。

3. クラスとは?

3. クラスとは?
3. クラスとは?

クラスは、オブジェクトを作るための設計図です。たとえば、「車」という設計図があれば、同じ設計図から「赤い車」「青い車」といった複数の車を作ることができます。

Rubyでも同じで、クラスを使うことで共通の性質を持つオブジェクトをいくつも作れます。


class Car
  def initialize(color)
    @color = color
  end

  def show_color
    puts "この車の色は#{@color}です"
  end
end

car1 = Car.new("赤")
car1.show_color

この車の色は赤です

このように、クラスは「どんな性質を持つか」「何ができるか」をまとめたものです。そして、そこから作られたものが「オブジェクト」になります。

4. モジュールとは?

4. モジュールとは?
4. モジュールとは?

モジュールは、複数のクラスで共有したい機能をまとめたものです。モジュールを使うことで、同じ処理を何度も書かなくて済みます。

たとえば、「あいさつをする」という機能をモジュールとして用意して、複数のクラスで使い回せます。


module Greeting
  def hello
    puts "こんにちは!"
  end
end

class Person
  include Greeting
end

class Robot
  include Greeting
end

person = Person.new
person.hello

robot = Robot.new
robot.hello

こんにちは!
こんにちは!

この例では、Greetingモジュールをincludeして、PersonクラスとRobotクラスの両方でhelloメソッドを使えるようにしています。

5. オブジェクト・メソッド・クラス・モジュールの関係

5. オブジェクト・メソッド・クラス・モジュールの関係
5. オブジェクト・メソッド・クラス・モジュールの関係

ここまでの内容を整理すると、Rubyの基本的な仕組みはこのようになります。

  • クラスは「設計図」
  • オブジェクトは「設計図から作られた実体」
  • メソッドは「オブジェクトに何をさせるかの命令」
  • モジュールは「便利な機能をまとめた共有パーツ」

この関係をしっかり理解しておくと、Rubyのコードを読むときや書くときに「何をしているのか」が自然にイメージできるようになります。

6. Rubyがオブジェクト指向言語と呼ばれる理由

6. Rubyがオブジェクト指向言語と呼ばれる理由
6. Rubyがオブジェクト指向言語と呼ばれる理由

Rubyはオブジェクト指向プログラミング言語と呼ばれます。それは、数字や文字列、配列など、すべてがオブジェクトとして扱われるからです。

例えば、数字に対してもメソッドを使えます。


10.even?

true

このように、Rubyではどんなデータにも「動作」を指示できるため、コードがシンプルでわかりやすくなります。

7. 用語を使いこなして学習をスムーズに

7. 用語を使いこなして学習をスムーズに
7. 用語を使いこなして学習をスムーズに

Rubyの学習を進めると、ドキュメントや教材で「オブジェクト」「メソッド」「クラス」「モジュール」という言葉を頻繁に目にします。最初は難しく感じても、今日学んだイメージを持ってコードを読むことで少しずつ慣れていけます。

これらの基本用語を正しく理解することが、Rubyを使ったプログラミングをスムーズに進める第一歩です。

まとめ

まとめ
まとめ

Rubyの学習では、オブジェクトやメソッド、クラス、モジュールといった基本的な概念をしっかり理解しておくことがとても大切です。これらの用語は、Rubyのコードを読み解いたり、自分でプログラムを作ったりするときの基礎となる考え方であり、ひとつでも曖昧なままだと全体像がつかみにくいままとなってしまいます。今回の学習内容を振り返ると、Rubyの世界ではどんなデータもオブジェクトとして扱われ、すべての処理がオブジェクトに対するメソッド呼び出しで表現されています。こうした仕組みを理解することで、Rubyらしい書き方や読みやすいコードの組み立て方がより自然に身についていくでしょう。

また、クラスとは設計図であり、そこから生み出される実体がオブジェクトです。そして複数のクラスで共有したい振る舞いをモジュールにまとめることで、重複を避けながら効率よくコードを整理できます。実際の開発現場でも、クラス設計やモジュールの使い方によって読みやすさや拡張しやすさが大きく変わるため、基礎の段階で正しく理解しておくことが後々のスキル向上に役立ちます。今回の学習内容をしっかり押さえておくことで、Rubyによるオブジェクト指向の考え方がより明確になり、今後のプログラミング学習が大変進めやすくなるはずです。

ここでは、今回の内容をさらに深く定着させるために、Rubyの基本概念を踏まえたシンプルなサンプルコードも紹介します。実際に自分で動かしながら確認することで、抽象的に感じていた部分がより理解しやすくなり、学習の幅も大きく広がります。特に、オブジェクト指向の構造を理解するためには、実際に手を動かしてクラスを作ったり、モジュールを取り入れたりする経験がとても重要です。

サンプルコード:オブジェクト指向の流れを体験しよう


module Printable
  def print_info
    puts "情報を表示します:#{info}"
  end
end

class Item
  include Printable

  def initialize(name, price)
    @name = name
    @price = price
  end

  def info
    "商品名:#{@name}、価格:#{@price}"
  end
end

item = Item.new("りんご", 120)
item.print_info

このサンプルでは、モジュールで定義したメソッドをクラスに取り込み、オブジェクトを通じて実際に処理を実行しています。Rubyの「すべてがオブジェクト」という世界観をより実感しやすく、クラスとオブジェクト、そしてモジュールの役割の違いも自然に理解できる内容です。特に初心者がつまずきやすい「実体」と「設計図」の違いが明確にわかるため、復習にも大変役立ちます。

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

生徒

「今日の学習で、オブジェクトとかクラスとかモジュールの違いがだいぶわかるようになりました!特に『設計図』と『実体』の関係がすごくイメージしやすかったです。」

先生

「よかったですね。Rubyは本当にすべてがオブジェクトで動いていますから、このイメージが持てるとコードを読むのも書くのもとても楽になりますよ。」

生徒

「モジュールも便利なんですね。クラスに同じ処理を何度も書かなくていいって聞いて、すごく合理的だなと思いました。」

先生

「その通りです。モジュールはRubyらしい柔軟な設計を支える重要な仕組みです。今日の内容が理解できていれば、これからRailsなどのフレームワークを学ぶときにもスムーズに進めるはずです。」

生徒

「ありがとうございます!次からの学習も楽しみになってきました!」

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

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

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

Rubyにおけるオブジェクトとは何ですか?具体例で教えてください

Rubyにおけるオブジェクトとは、データとそのデータを操作する機能がセットになったものです。例えば、「りんご」は色や重さといった情報と、「食べる」「切る」といった行動を持ちます。これをまとめたものがオブジェクトであり、Rubyでは数値や文字列などもすべてオブジェクトです。

Rubyでは文字列もオブジェクトなのですか?

はい、Rubyでは文字列もオブジェクトです。例えば「こんにちは」という文字列は、実は「String」というクラスのオブジェクトになります。Rubyのすべてのデータはオブジェクトとして扱われるのが特徴です。

理解度のクイズ問題

理解度のクイズ
この記事の理解度をクイズで確認しよう

空欄の★に当てはまる内容を答えてください。

問題
Rubyの基本概念では、すべてのデータは オブジェクト として扱われます。 そして、そのオブジェクトを操作するための命令が メソッド です。 この仕組みを理解することで、オブジェクト指向プログラミング/クラス設計/モジュール再利用(Ruby、初心者、基本用語)を学ぶ際の土台になります。
# 文字列オブジェクトにメソッドを適用する例
name = "ruby"
puts name.upcase   # => "RUBY"
【ヒント】 ・オブジェクト=「データ+機能」のまとまり。 ・メソッド=オブジェクトに「何をさせるか」を指示する命令。 ・Rubyでは文字列や数値もすべてオブジェクト。 ・関連キーワード:Ruby オブジェクト指向、メソッド呼び出し、基本用語、入門。

下記をクリックすると、解答が表示されます
関連記事:
カテゴリの一覧へ
新着記事
New1
Rails
Rails GoodJob入門!PostgreSQLベースのバックグラウンド処理を初心者向けに完全解説
New2
Ruby
Rubyで学ぶビット演算入門:&・|・^・~・<<・>>の基礎と実例
New3
Rails
RESTとRailsの関係を徹底解説!resources設計と7つの標準アクションを初心者向けにわかりやすく解説
New4
データベース
MySQLアーキテクチャ入門!初心者向けに基本構造と仕組みを徹底解説
人気記事
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関数の使い方を初心者向けに徹底解説