Nesneye yönelik programlama, geri dönüştürülebilir ve geliştirilmesi ve bakımı kolay bir programlama stilidir. Bir sınıftan veya prototipten oluşturulan tek bir nesne çok amaçlı olarak tekrar kullanılabilir. Nesne yönelimli programcılar için mevcut olan bir avantaj, bir nesnenin parçaları üzerinde erişim kısıtlamalarının ayarlanmasına izin vererek yanlışlıkla manipülasyonu önleyen enkapsülasyonun kullanılmasıdır. Nesneye yönelik kodda gezinmek kolay olduğundan, güncellemeler çok daha hızlıdır.
Nesnelerin onları günlük aktiviteler için çekici hale getiren birçok özelliği vardır. Nesneler, yöntem olarak bilinen eylemleri gerçekleştirir. Bir koda bağlı olarak, bir nesne eylemleri ve diğer özellikleri giderek daha soyut sınıfların veya prototiplerin sıradüzeninden devralabilir. Örneğin: Bir fino köpeği nesnesi ve bir bulldog nesnesi hem köpek sınıfından havlama kabiliyetini devralabilir. Köpek sınıfı, memeli sınıfından ve diğerlerinden özellikleri de devralabilir.
Sınıf ve prototip tabanlı programlama, iki tür nesne yönelimli programlamadır. Sınıf tabanlı programlamada bir nesne, geliştirici tarafından kodlanan bir nesnenin özgün tasarımı olan sınıfından oluşturulur. Prototip tabanlı programlamadaki nesneler doğrudan geliştirici tarafından oluşturulur ve yinelenen nesneler bu prototip nesnesinden yapılır.
Nesneye yönelik programlama geri dönüştürülebilir olduğundan, bir geliştirici bir programdan kod alabilir ve büyük değişiklikler konusunda endişelenmeden kolayca başka bir programa yerleştirebilir.