Static typing enforces type checking at compile time rather than at runtime. It helps detect errors early and can improve performance and reliability. Statically typed languages require variable types to be known before execution. Example: Java enforcing type constraints during compilation.