Static gameObject?

What is a static gameObject? Is it similar to a static class? If so then how do you access/reference it?

You are misunderstanding the difference between static objects in the scene and static variables in scripts / classes.

Note that the same word … “static” … happens to be used in English for these two utterly unrelated concepts. To repeat, there is no relationship, whatsoever, between these two things - it just happens to be the same word.

A static object in the scene is for example a rock, a wall or a tree that you want to have lightmaps on, recieve shadows, use as navigation obstacles and so on.

Again, this is simply using the word “static” as in English … ie, it means nothing more than “not moving,” you could equally just say “stationary” or “not moving” or “never moves.” So, a car or a dragon is “not static” whereas a house or a statue is “static.”

Whereas…

A “static variable” in programming is a particular technique available in most programming languages. Essentially, using a “static variable” in a script means (in short) that no matter from what script object, you always acess the same memory. If you have a static variable in a class, it doesnt belong to a single object of that class - it’s global for all instances of the class. (Fully understanding “static variables” in programming is a large topic you could study for some time on.)

You mark a game object static if you want it to use static batching, or if you want it to be included when lightmapping.

A static variable, whether a GameObject (which is an object reference) or any other type, is one that is global and singular to the application, scoped to the class in which it is declared. There is no such thing as a “static class”.