Objekt är kärnan i objektorienterad programmering. De är datastrukturer som innehåller data, i form av fält, ofta kända som attribut; och kod, i form av procedurer, ofta känd som metoder. Ett objekt kan ses som en ”sak” som kan utföra en uppsättning relaterade aktiviteter. Själva aktiviteterna definieras av objektets metoder. Funktionen hos ett objekt definieras av sin klass, som beskriver både vilka dataformat objektet kan hålla och vilka operationer det kan utföra.
En klass i objektorienterad programmering är en blueprint eller mall för objekt. Man kan tänka på en klass som en ritning som visar hur man ska bygga en viss typ av objekt. All information om vad ett objekt kan göra och vilken data det kan innehålla finns i objektets klass. Varje instans, eller objekt, av en klass, är unik och kan hantera olika uppgifter. Själva instansen, eller objektet, innehåller den faktiska datan och kan utföra de faktiska operationerna.
I objektorienterad programmering används klasser för att gruppera relaterade uppgifter och data tillsammans, vilket gör det lättare att utforma komplexa program. Objekten kan även interagera med varandra genom att skicka meddelanden, vilket gör det möjligt för olika delar av programmet att kommunicera och interagera på ett strukturerat sätt. I ett objektorienterat programspråk som Python, Java eller C++, används dessa koncept för att skapa robusta och flexibla program.