Bu terimler yazılım ve programlamada çok temel terimlerdir. Bunları iyi bilip öyle çalışmak gerekir. Yapılan şeyin altında yatan gerçekleri bilmeden bir iş yapmak sakınılması gereken bir durumdur. Class ve nesne ilişkisi önemli ve mülakatta karşınıza çıkabilecek güzel bir sorudur.
Nesne yönelimli programlamada mantık, geliştirdiğimiz programı mümkün olduðu kadar küçük ama anlamlı parçalara bölerek her parçayı bir türde nesne haline getirip, daha sonra bu nesneleri gerekli yerlerde çağırarak kullanmaktır. Nesneleri yazmak için de önce bir şablon (kalıp) oluştururuz. Daha sonra bu şablondan istediğimiz kadar nesneyi çıkarabiliriz. Programlama dilinde bu şablonlara class, bu şablonlardan oluşturulan nesnelere de object adı verilir.
Class ve object arasındaki ilişki çocukların yazın sahillerde oynadığı kum kovaları ve bu kovalarla yapılan kumdan kalelere benzer. Gerçekten aralarında bir fark yoktur. Bir kova yardımı ile kumdan kale yapmak, tam anlamıyla nesneye yönelik programlamayı anlatır. Sahilde kumdan kale yapmanın en kolay yolu kovamızın içini ıslak kum ile doldurup kovayı ters çevirerek kalıbı yerleştirmekle olur. Bu şekilde, çok kısa sürede onlarca kale yapabiliriz. Nesneye yönelik programlama da aynı mantıkla işler. Önce bir kova temin ederiz (class) sonra kaleye ihtiyacımız olan her yerde bu kovayı kum ile doldurup kalelerimizi oluştururuz (nesnelerimiz). Daha sonra bu kaleleri (nesneler) istediğimiz şekilde değiştiririz ( bazılarına kapı açarız, bazılarını taş ile süsleriz vs.). Ancak kovamız olmasaydı, her kaleyi elimizle ve baştan tek tek yapmak zorunda kalırdık.