Traits て何? いくつかのメソッドを定義しておいて、他のクラスに取り込む方法 (メソッド群の継承機構) Rubyのmoduleみたいなもの? そう。ほぼそれ。ScalaだとTrait 大概の言語にあるよね? うん。Perl6だとRoleらしい そして、JavaだとInterface! 違う。それだけは違う ちょw。なんでよ!差別イクナイ! JavaはAPI定義のみで実装がないから ああ、API+実装がTraitsなのか そう。言語ごとに違いがある(追加方法、衝突管理、状態、継承)ので、そう言い切るのも火種になる なるほど。ぢゃ、*大筋で*「API+実装がトレイト」と思っていればOK? うん、完璧。Smalltalk実装のTraitsと区別するためにカタカナにしたものナイス えへへ。あ、でさ、さっきの衝突管理って何? 同じメソッド名がある場合にどうなるか問題 ああ、Ruby の強制上書