##クラスとモジュールの違い
- クラスはインスタンスが生成でき、モジュールはインスタンスが生成できない
- クラスは継承でき、モジュールは継承できない
##クラスとモジュールの使い分け
moduleをclassにincludeをして使用できるようにする、ミックスインでの例。
モジュールはクラス間でメソッドを共有することができる。
モジュールをクラスに組み込むことで、クラス定義にメソッドをコピー&ペーストしたのと同じようにモジュールのメソッドをクラスで利用できるようになる。
これは、特定のクラスで再利用したいメソッドがあり、かつ、それを一カ所に集めておきたい場合に便利。
module Cream
def cream?
true
end
end
class Cookie
include Cream
end
cookie = Cookie.new
p cookie.cream?
#=> true
##参考