I have seen the phrases "instantiate an object", "instantiate a Square object", or "a Cat object is instantiated." (p.17, p.22, and p.26 of The Object-Oriented Thought Process, 4th Edition, Addison-Wesley).
And then when reading Design Patterns (the Gof book), I keep on reading "instantiate a class", as in "it must instantiate a Glyph subclass" or "A class creational pattern uses inheritance to vary the class that's instantiated" (p.48 and p.81, Design Patterns, Erich Gamma et al, Addison-Wesley).
But then, in the same book, it says, "A dashed arrowhead line indicates a class that instantiates objects of another class" (p.15) to mean "CreationTool creates LineShape objects" (p.364).
Do they mean the same thing? And if they do, which way of saying it is more correct or accurate? Is it true that in normal circumstances, we don't use running code to "create" a new class? (That is, "instantiate a class" doesn't mean create a new class).
I bring this up because while reading the Design Patterns book by GoF, I read "instantiate an object" and I thought, "ok, an object is created", then in the factory method chapter, I read "instantiate a class", and I thought "hmmm... a class is created?" and it kind of made me dizzy...