Effective C++を少しずつ読み進めてるレベルの初心者なんですが、「トレイト」というもののイメージがよく掴めません。
wikipediaを見るとサポートする言語としてPHP、Rubyなどが挙げられ、実際ググるとこれらの言語のページがよく見つかるのですが、
これらの言語特有の機能というわけではなくて、一種の考え方というか方法論と思ったのですが、合ってるでしょうか?
(C++のコードでもよくtraitウンヌンという名のクラスや関数を目にします)

あと、これはスレチかもしれませんが、この辺も含めて学習するのに適した書籍がありましたら教えてください。