Any data type which can be constructed in a program using the programming language's primitive data types and other composite types.