Imaš npr. klasu Osoba. U toj klasi definiraš atribute ime, prezime, adresa, itd. Sada je Osoba tip podatka (kao što su tipovi podataka int, string, float...). Kao što bi inače napravio neku varijablu tipa int x sada možeš napraviti "varijablu" (to je zapravo objekt) osoba1 koja će biti tipa Osoba. Toj osobi1 ćeš definirati atribute, npr. ime = Marko, prezime = Tokić, Adresa = Zagrebacka 14. Sada možeš napraviti novi objekt osoba2 koji će imati atribute ime = Ivan, prezime = Horvat, adresa = Osjecka 5. I tako dalje, možeš definirati koliko želiš objekata.
Dakle klasa je nekakav okvir u kojemu definiraš što će sve ta komponenta sadržavati (atribute i metode). A objekti su onda instance te klase sa zadanim vrijednostima tih atributa.