ScalaByExample - Example 6 Classes and Objectsより。ScalaのClassとかTraitの違いについて、わかる範囲でまとめてみます。 ScalaのClassとかTraitの比較表 Class Abstract Class Trait Object 抽象メソッドを持てるか? × ○ ○ × メソッドの実装を書けるか? ○ ○ ○ ○ インスタンス化が可能か? ○ × × ○(ただしインスタンスは一つだけ) コンストラクタ引数の指定ができるか? ○ ○ × × 継承の制約 Class,Abstract Classのうち1つと、複数のTraitを継承できる 同左 同左 同左 比較用:JavaのClassとかInterfaceの比較表 JavaのClassとかInterfaceを同じ表に当てはめるとこんな感じになります。 Class Abstract