モジュール
Rubyでは一般的なオブジェクト指向言語の多くに用意されているクラスの継承の他に、モジュールという機能があります。モジュールはインスタンスを持たずinclude文により取りこんで使用します。
モジュールは「クラスAを継承してクラスBを作った。クラスBの提供する多くの機能を持つクラスCを作りたいが、意味的にクラスCがクラスBを継承するのは不自然」というようなケースで使用すると便利です。
つまり、クラスCでも使用したいクラスBの機能をモジュールとして括りだし、クラスCからinlcudeするわけです。
このことを、Mix-inと呼びます。モジュールを使用するとクラスの継承関係を縦断した機能追加を、よりスムーズに行うことができます。