defines the information that can be stored in a variable, the size of needed memory and the operations that can be performed with the variable.
a kind of data that variables may hold in a programming language plus the operations automatically provided. examples are character, integer, floating point
a description of the set of values and the basic set of operations that can be applied to values of the type