&lt;p&gt;We don&amp;rsquo;t, actually. There exist systems where data and methods are added to &amp;ldquo;raw&amp;rdquo; objects without any particular class &amp;mdash; each object could be unique. JavaScript can be used in this mode, for example (although ES6 adds much more class-like support for those who want it.)&lt;br /&gt;&lt;br /&gt;Generally, though, implementations of languages (interpreters and compilers) end up wanting a class because that lets them generate code that runs faster, and for many languages, allows for static type checking which may find potential problems during compile time, rather than during runtime.&lt;/p&gt;