Case classes are regular classes which export their constructor parameters and which provide a recursive decomposition mechanism via pattern matching.