Nesne Tabanlı Programlama gerçek hayattaki nesneleri yazılım dünyasına aktarma çabasıdır. Örneğin yeni bir araba üretecek bir firmayı düşünelim. Somut olarak üretilecek olan arabanın tüm özellik (attributes) ve fonksiyonlarını (method) ilk olarak yazılıma aktarmak gerekiyor.