Static typing is a typing discipline where variables are bound to specific data types during compile-time. Once a variable is assigned a data type, it cannot be changed. The compiler performs type-checking to ensure that variables are used in a way that is consistent with their declared types.
Examples of statically typed languages include Java, C, and C++.