Static Typing is doing all your type analysis at compile time. ML, C, C++ are all examples of static typing. A language which is statically typed does not necessarily mean you have to declare your types. Many languages look at how a variable is used and deduce the type from that.
Opposite: DynamicTyping
Not to be confused with: StronglyTyped or WeakTyped?
4 pages link to StaticallyTyped: