Nesneye Yönelik Programlama 2024-2025 Vize Soruları
Nesneye Yönelik Programlama 2024-2025 Vize Soruları
Giriş
Nesneye Yönelik Programlama (NYP), yazılım geliştirmede karmaşıklığı yönetmek için kullanılan modern bir yaklaşımdır. Java gibi dillerin temelini oluşturan bu paradigma, bir işlemin “nasıl” (how) gerçekleştirileceğini adım adım anlatır. Nesneye yönelik düşünme yaklaşımı, yazılım geliştirme sürecinin “tasarım” aşamasında devreye girer. Bu makalede, NYP’nin temel ilkeleri, bu ilkelerin .NET platformu ve C# dilindeki yansımaları ve yazılım modellemesinde kullanılan UML gibi araçlar incelenecektir.
Nesneye Yönelik Programlamanın Dört Temel İlkesi
NYP yaklaşımına dayanan bir dilin dört temel özelliği vardır; “modelleme” ise genel bir yazılım geliştirme aktivitesidir, NYP’nin temel bir ilkesi değildir.
.NET Platformu ve C# Dili
.NET, “birden fazla programlama dilini destekleyen ve uygulama geliştirmeyi kolaylaştıran bir platformdur”. Bu platformun temel bileşenleri şunlardır:
Yazılım Modelleme ve Tasarım
Karmaşık yazılım sistemlerini tasarlamak ve belgelemek için görsel modelleme dilleri kullanılır.
Sonuç
Nesneye yönelik programlama, kaliteli yazılımlar üretmek için güçlü bir temel sunar. Bir yazılımın kalitesi, son kullanıcı gözüyle kullanılabilirlik, hız ve güvenlik gibi kriterlerle ölçülürken; modüllerin yeni projelerde “tekrar kullanılabilir” olması ise daha çok geliştiriciyi ilgilendiren bir kalite kriteridir. Yazılım geliştirme sürecinde, “tasarım” aşamasında yapılan “doğrulama” (verification) işlemleri, bu kalite hedeflerine ulaşılmasında önemli bir rol oynar.
Nesneye Yönelik Programlama 2024-2025 Vize Soruları
Nesneye Yönelik Programlama 2024-2025 Vize Soruları
20 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
Aşağıdaki diyagram türlerinden hangisi UML içinde yer almaz?
CDoğru cevap
Açıklama
UML (Birleşik Modelleme Dili), yazılım sistemlerini görselleştirmek, belirtmek ve belgelemek için kullanılan bir standart modelleme dilidir. UML diyagramları, yazılımın yapısını ve davranışını gösterir. Donanım diyagramı (Hardware Diagram) ise UML içinde yer alan standart bir diyagram türü değildir.
Soru 2
Nesneye Yönelik Programlamada “Farklı nesnelerin aynı arayüzü kullanarak farklı işlevler gerçekleştirmesi” durumu hangi terim ile ifade edilir?
EDoğru cevap
Açıklama
Çokbiçimlilik (Polymorphism), nesneye yönelik programlamada farklı nesnelerin aynı adı taşıyan metotları kullanarak farklı davranışlar sergilemesi durumunu ifade eder. Örneğin, “Çiz” metodu, daire nesnesi için farklı, kare nesnesi için farklı çalışabilir.
Soru 3
Sistemdeki kullanıcıların nasıl etkileşimde bulunacağını ve sistemle ilgili işlevleri nasıl gerçekleştireceklerini tanımlayan 4+1 Görünüm Modeli aşağıdakilerden hangisidir?
EDoğru cevap
Açıklama
4+1 Görünüm Modeli’nde Kullanım Senaryoları Görünümü (Use Cases View), sistemin kullanıcılar tarafından nasıl kullanılacağını ve kullanıcı etkileşimlerini tanımlayan ana modeldir.
Soru 4
Aşağıdakilerden hangisi Ortak Dil Tanımlamaları (Common Language Specifications – CLS) tarafından desteklenen programlama dillerinden biri değildir?
EDoğru cevap
Açıklama
Common Language Specification (CLS), .NET platformunda farklı dillerin birbiriyle etkileşimini sağlayan kurallar bütünüdür. C++, Perl, Fortran ve Python gibi diller CLS uyumlu olabilirken , XML bir programlama dili değil, veri depolama ve taşıma için kullanılan bir işaretleme dilidir.
Soru 5
.NET platformlarında kullanılan, tekrar kullanılabilir bileşenlerin ve hizmetlerin bir koleksiyonu olan temel bileşen aşağıdakilerden hangisidir?
ADoğru cevap
Açıklama
Framework Class Library (FCL), .NET Framework’ün temel kütüphanesidir. Bu kütüphane, tekrar kullanılabilir sınıflar, arayüzler ve diğer bileşenleri içerir ve uygulama geliştirmeyi kolaylaştırır.
Soru 6
Sınıf diyagramında (Class Diagram) bir sınıfın içindeki aşağıdaki hangi bileşen, sınıfın fonksiyonlarını gösterir?
BDoğru cevap
Açıklama
Sınıf diyagramında, bir sınıfın davranışlarını ve fonksiyonlarını metotlar (Methods) temsil eder. Nitelikler (Attributes) ise sınıfın özelliklerini (verilerini) gösterir.
Soru 7
Yorumlayıcı mantığına benzer şekilde kodun belli bir bölümünü makine koduna çevirip çalıştıran, diğer satırları ise daha sonra makine koduna dönüştüren JIT yapısı aşağıdakilerden hangisidir?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Eco-JIT, yorumlayıcı mantığına benzer şekilde yalnızca o an gereken kod bölümünü makine koduna çevirip çalıştırır, diğer satırları ihtiyaç oldukça çevirir; bu sayede bellekten tasarruf eder. Pre-JIT ise derleyici gibi tüm kodu baştan makine koduna çevirir.
Soru 8
Yukarıdaki C# kod satırları aşağıdaki hangi işleme bir örnektir?
CDoğru cevap
Açıklama
Boxing (Kutulama), değer türündeki (value type) bir değişkeni referans türüne (reference type) dönüştürme işlemidir. Yukarıdaki örnekte, int bir değer türü iken, object bir referans türüdür. x’in y’ye atanması bu işleme bir örnektir.
Soru 9
C# programlama dilinde hangi anahtar kelime ile bir değişkenin sabit (değiştirilemez) olacağı belirtilir?
CDoğru cevap
Açıklama
C# programlama dilinde bir değişkenin değerinin sabit ve değiştirilemez olduğunu belirtmek için const anahtar kelimesi kullanılır.
Soru 10
Yazılım geliştirirken nesneye yönelik düşünme yaklaşımı ilk olarak aşağıdaki hangi aşamada devreye girer?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Nesneye yönelik düşünme yaklaşımı ilk olarak tasarım aşamasında devreye girer: sistemin sınıfları, nesneleri ve aralarındaki ilişkiler bu aşamada belirlenir. Kodlama aşamasında ise bu tasarım bir programlama diliyle hayata geçirilir.
Soru 11
.NET Framework’ün amacı aşağıdakilerden hangisidir?
EDoğru cevap
Açıklama
.NET Framework, farklı programlama dillerinde (C#, F#, VB.NET vb.) geliştirilen uygulamaların çalışmasını ve uyumunu sağlayan, geniş bir kütüphane ve çalışma zamanı ortamı sunan bir platformdur.
Soru 12
Aşağıdakilerden hangisi bir yazılımın kullanıcı gözüyle kaliteli olduğunu gösteren kriterlerden biri değildir?
CDoğru cevap
Açıklama
Bir yazılımın modüllerinin tekrar kullanılabilir olması, genellikle geliştiricinin bakış açısıyla ilgili bir kalite kriteridir. Kullanılabilirlik, performans, kararlılık ve güvenlik ise son kullanıcının gözünden bir yazılımın kalitesini gösteren kriterlerdir.
Soru 13
Doğrulama (verification) işlemi aşağıdaki yazılım geliştirme aşamalarından hangisinde yapılmalıdır?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması
Ders kapsamında doğrulama (verification), "ürünü doğru mu geliştiriyoruz?" sorusuyla tasarım aşamasında yapılır; tasarımın belirlenen gereksinimleri karşılayıp karşılamadığı kontrol edilir. Test aşaması ise geçerleme (validation) ve hata bulma ile ilişkilidir.
Soru 14
Aşağıdakilerden hangisi bir işlemin nasıl (how) gerçekleştirileceği ile ilgilenen yaklaşıma sahip bir programlama dilidir?
BDoğru cevap
Açıklama
Java, bir işlemin nasıl yapılacağını (how) adım adım anlatan, prosedürel ve nesneye yönelik bir programlama dilidir. SQL, HTML ve Regular Expression ise daha çok “ne” yapılacağını (what) tanımlayan dillerdir.
Soru 15
C# programlama dilinde bool veri türünün tanımı aşağıdakilerden hangisidir?
BDoğru cevap
Açıklama
C#’ta bool veri türü, yalnızca iki olası değeri alabilen bir mantıksal veri türüdür: true (doğru) veya false (yanlış).
Soru 16
double a=14;
object b=a;
Yukarıdaki C# kod satırlarında tanımlanan a ve b değişkenleri hangi bellek bölgesinde saklanırlar?
DDoğru cevap
Açıklama
C# dilinde değer türleri (double, int vb.) genellikle Stack bellek bölgesinde saklanırken , referans türleri (object, class vb.) Heap bellek bölgesinde saklanır. Bu örnekte a bir değer türü, b ise bir referans türüdür.
Soru 17
Nesneye yönelik programlamada veri ve işlevlerin bir arada bulunduğu yapıyı ifade eden kavram aşağıdakilerden hangisidir?
BDoğru cevap
Açıklama
Sınıf (Class), nesneye yönelik programlamada benzer özelliklere ve davranışlara sahip nesnelerin tanımını yapan bir yapıdır. Sınıf, verileri (nitelikler) ve bu veriler üzerinde çalışan işlevleri (metotlar) bir arada tutar.
Soru 18
Aşağıdakilerden hangisi Nesneye Yönelik Programlama yaklaşımına dayanan bir dilin sahip olması gereken temel özelliklerden biri değildir?
DDoğru cevap
Açıklama
Nesneye Yönelik Programlamanın (NYP) dört temel ilkesi vardır: Kalıtım, Kapsülleme, Çokbiçimlilik ve Soyutlama. Modelleme ise yazılım geliştirmenin genel bir aşamasıdır ve NYP’nin temel bir özelliği olarak kabul edilmez.
Soru 19
Nesneye yönelik programlamada, karmaşıklığı gizleyerek programlama sürecini daha anlaşılır ve yönetilebilir hale getiren kavram aşağıdakilerden hangisidir?
ADoğru cevap
Açıklama
Soyutlama (Abstraction), bir sistemin karmaşık detaylarını gizleyerek sadece temel ve gerekli özelliklerinin gösterilmesini sağlayan bir kavramdır. Bu sayede programcılar, karmaşıklıkla uğraşmadan sistemi daha kolay anlayabilir ve yönetebilirler.
Soru 20
UML’de, sınıflar arasındaki “is-a” ilişkisini aşağıdaki hangi kavram temsil eder?
ADoğru cevap
Açıklama
Kalıtım (Inheritance), bir sınıfın başka bir sınıftan özellik ve davranışları miras almasıdır. Bu ilişki, “bir Araba, bir Taşıt türüdür” gibi “is-a” ilişkisiyle ifade edilir.