It depends on the context and the programming language, but "static" typically indicates that variable or function belongs to the declaring class, and not to the instance of that class (i.e. object).
For example a static method in Java:
In the example above calculateArea() is a static method, the right way to call that is e.g. Circle.calculateArea(3). Because it is static it cannot access the instance variables or method of this class such as "message", but it can access "pi" which is static. In other words static methods have no reference to an instance, therefore they cannot access anything through "this".
On the other hand non-static or instance methods like getMessage() can access both instance and static variables and can call both instance or static methods.
Typical use cases for static variables are constants, for static methods are helper or utility functions that operate on their arguments with no need access the state of the object.
Anthony F.
I think that static variable and static method are both closely related to analog technology and digital technology. Unix and Unix-like operating systems seem to show close compatibility with static variable because of the root directory in a Unix operating system. If the starting point of a hierarchical tree structure doesn't begin at the root but starts from the top then static method is in most cases the dominant idea.07/10/20