# Traits

This is used to defined shared behavior

A *trait* defines the fnctionality a particular type has and can share with other tpyes.

Traits are ued to define shared behavior in an abstract way.

We can use *trait bounds* to specifty that a generic type can be any type that has certain behavior

Note: Traits are similar to a feature often called *interfaces* in other languages, but there are some differences in Rust

## Defining a Trait
