Static typing is a type system discipline where a variable's type is known and checked at compile time. This approach helps catch many potential programming errors early, before the program even runs, offering predictability and aiding code maintenance.