## Notes Means to *parameterize* a type. Allows us to write code that works with different data types in a more safe manner. ## Why? - Java Collections could store any type of object - When adding `String` to a `List`, Java would not remember its type and it would have to be explicitly type-cast ## Types of Generics - Class - Method ## Generic Class ```java ```