Nesneye yönelik programlama modelinde, nesneler, veri ve bu veriyi kullanacak olan fonksiyonların paketlenmiş hali (encapsulated) olarak tanımlanır. Klasik yapısal programlama dillerinde olduğu gibi programa yeni bir takım fonksiyonlar ve değişkenler eklemek yerine nesneye yönelik programlama dillerinde bu işlem bir nesne içinde gerçekleştirilir.
Nesneleri ve sınıfları kullanmak için üç farklı olanak mevcuttur. Nesne adları bir küçük harfle başlar; sınıf adları ise büyük harfle başlar.
Herhangi bir nesne oluşturmadan bir sınıfa ait özellikleri ve metotları kullanabilirsiniz. Örneğin, Math sınıfının nesne oluşturmadan doğrudan doğruya sınıf üzerinden kullanılacak birçok metodu vardır.
Bir sınıftan bir nesne oluşturabilirsiniz. Örneğin, Date sınıfı içinden bir nesne oluşturarak buna arzu edilen tarihi yerleştirebilirsiniz. Nesneler ait oldukları sınıfa ait tüm işlevsel yeteneklere sahiptirler fakat sadece kendilerine ait veriyi (özellikler) taşırlar.