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.
the specific type of data a variable is designed to hold.   having the proper data type can be crucial in running a an error-free program.
defines what kind of value a variable can hold such as number or string