Static typing
A type system for a programming language where the types of values can be deduced without running the program. In many (but not all) statically-typed languages, the programmer must annotate some or all symbols with their types.
The opposite is dynamic typing. Strong versus weak typing is an orthogonal dimension.