ScalaSchool

Generic Class: A class that takes type parameters. For example, because scala.List takes a type parameter it is a generic class

Generic Trait: A trait that takes type parameters. For example, because scala.Set takes a type parameter it is a generic trait

Type Parameter: A parameter to a generic class or generic method that must be filled in by a type. For example List is defined as

class List[T] { ... }

and identity is defined as

def identity[T](x:T) = x

The T in both cases is a type parameter

generics