It is called static because it is statically allocated
That's a circular argument. What does statically allocated mean? Is it called "static" because its kind of the opposite of dynamic? I checked two thesaurus that don't make that connection... they suggested 'fixed' or 'stable' or 'permanent'. Those make at least as much sense as 'static'.
. It is a compiler concept which became an OO concept due to being somewhat similar.
Even you have got to realize that is pretty weak. Could have just as easily called them shared, or something more directly applicable.
It is called void because it returns nothing
So void is nothing, and its not to be confused with a void* which is a pointer to absolutely anything, right?
But ultimately the issue is that a variety of decisions were made back when C was written, and there is absolutely a sort of logic to it all, but if you don't know C they don't make a lot of sense, especially when you encounter them in quasi "somewhat similar" roles in modern languages.
method_name [return type] (params)...
or perhaps the more verbose:
method_name (params) returns (return type|nothing)
I mean, if you are designing a new language... the advantage to re-using old keywords from C is that it makes it easier for people coming to the language from C and its descendants. But its needless complexity and confusion for new programmers.