ruby クラス モジュールの違い 忘備録

クラス はオブジェクトになれる

つまりインスタンス化能力を持ち、インスタンスメソッドやクラスメソッドを格納できる。

モジュール はインスタンス化能力は持たないがメソッドを格納できる。

クラスメソッド定義

class hoge

  def self.hoge
    #クラスメソッドの実装
  end

end

#こうもかける

class hoge

  class << self
    #クラスメソッドの実装
  end

end

そもそも

Rubyは単一継承 1つのクラスしか継承できない。 では複数のクラスのメソッドを利用したいときはどうするのか? そのときにモジュールを利用する

大規模開発に使うことが多い。

参考サイト クラス・モジュールの概念 Ruby - Qiita