I objektorientert programmering er en klasse og et objekt to fundamentale begreper som brukes til å organisere og strukturere koden.

En klasse er en skisse eller en mal som definerer egenskapene og oppførselen til objekter av samme type. Den inneholder beskrivelser av instansvariable (data) og metoder (funksjoner) som objekter av klassen kan ha. Klassen definerer strukturen og oppførselen til objektene som skal opprettes.

Et objekt er en spesifikk forekomst av en klasse. Det er en konkret instans av en klasse som opprettes ved å bruke klassestrukturen som mal. Objekter inneholder egne kopier av attrinstansvariablene som er definert i klassen, og de kan utføre metoder som er tilgjengelige for klassen.

For å gi et enklere eksempel, kan du tenke på en klasse som en oppskrift på å lage en kake. Oppskriften beskriver ingrediensene som trengs (instansvariable) og trinnene for å lage kaken (metoder). Når du faktisk lager en kake ved å følge oppskriften, er det resulterende produktet en kakeobjekt.

På samme måte kan du tenke på en klasse som en mal for å opprette objekter med spesifikke egenskaper og oppførsel. Objekter er som individuelle instanser av denne malen, der de har sine egne verdier for instansvariablene og kan utføre metoder som er definert i klassen.

Så i korte trekk: en klasse er en abstrakt beskrivelse av en type objekt, mens et objekt er en konkret forekomst av den klassen.