Nesne yönelimli programlama, nesneler etrafında tasarlanan bir bilgisayar programlama dili modeldir. Nesne benzersiz niteliklere ve davranışa sahip olan veri olarak tanımlanabilir. OOP, kodun tekrardan kullanılabilir ve verimli kılar. Büyük ve karmaşık projelerde rahatlıkla güncelleme veya değişiklik yapabilme imkânı sağlar.
Polymorphism, birçok yöne sahip olma olarak tanımlanabilir. Uygulamaları daha modüler ve genişletilebilir hale getirmek için kullanılır. Farklı eylem biçimlerini açıklayan karmaşık koşullu ifadeler yerine, ihtiyaca göre seçilen nesneyi değiştirme veya yaratma imkânı sağlar.
- Public metodun her yerden erişilebilir olmasını sağlar. Kendi sınıfı dışında kullanılabilir.
- Private yalnızca kendi sınıfında görünmesini sağlar. Metoda sadece sınıf içerisinden erişilebilir.
- Protected tanımlandığı sınıf içinde ve o sınıfı genişleten tüm sınıflarda kullanılma imkânı sağlar. Private’a benzer ancak ek olarak kendisinden türetilen sınıflar tarafından da erişilebilir.
Abstraction, nesne yönelimli programlama da önemli bir yer tutar. İçerisinde normal metotların isimleri ve değişkenleri belirtilir. Sınıfın abstract metot bulundurabilmesi için abstract olarak üretilmiş bir sınıf olması gerekir. Abstract sınıf içerisinde abstract olmayan metotlar kullanılarak interface den ayırılır.