در برنامه نویسی شئ گرا، Trait به مجموعه ای از متد ها به هم مرتبط می گویند. با استفاده از Trait می توان چند متد به هم مرتبط را در یک جا (به نام Trait) دسته بندی کنید.
Trait مکانیزمی برای استفاده مجدد از در برای زبان های شئ گرایی است که از وراثت چند گانه پشتیبانی نمی کنند. در اینگونه زبان ها یک کلاس می تواند علاوه بر ارث بردن از یک کلاس از چند Trait هم استفاده کند.