What is an instance of a GameObject?

Does dropping a GameObject into the Hierarchy (scene) or dropping a GameObject into a public variable in a script attached to a GameObject in the Hierarchy create an instance of that GameObject?

And does that also make instances of all the components (especially script class files derived from MonoBehaviour) on that GameObject?

If you drag the object into the scene, it will have an instance created upon running your app. If you place a gameobject in a script, it will be instantiated if you instantiate it…

GameOjbect newObject = new GameObject();

When you instantiate a gameobject by placing it visually, or programatically, all attached scripts will also be instantiated with it. If you have a prefab with a script attached say, they essentially become one object. Can’t instantiate one without the other unless you write some code to detach and destroy the script.