Java Nedir ?
OOP(Object Oriented Programming – Nesne Yönelimli Programlama) dilidir. Diğer programlama dillerinden farkı platformun bağımsız olmasıdır. Yani her işletim sisteminde çalışabilmesidir. Günümüz de birçok işletme Java programlama dilini kullanıyor. Örnek vermek gerekirse şuan Siirt Devlet Hastanesi Java dili yazılmış bir sistem kullanıyor.
Bir Java kodunun çalıştırılma aşamaları
 |
| Bir java dosyasının çalışma prensibi |
Java 'nın bilinen birkaç teknolojisi
- Java SE
- Java EE
- Hibernate
- Spring
- Maven
Şimdi biraz bu kavramlardan bahsetmek istiyorum.
Java SE(Java Standart Edition)
Bir diğer adı Temel Java ’dır. Java programlama diline başlamayı düşünenlere Java dilini bilenler her zaman Java SE ‘yi öğrenmeleri gerektiğini söyler. Java SE ‘de konsol uygulamaları geliştirerek hem programlama mantığını öğreniyorsun hem de kodlama bilgisi edinmiş oluyorsun. Bunun yanında Web Uygulamaları için Applet
1 yazabiliyorsun.
Java EE(Enterprise Edition)
Java EE (Java Enterprise Edition, eski adıyla J2EE), özellikle büyük çaplı projelerin ihtiyaçları için geliştirilmiş Java teknolojilerinin bütünün oluşturduğu çerçevenin ve standardın ismidir. Java EE Bileşenleri
- Applet: Web tarayıcı üzerinde çalışan GUI uygulamalarıdır.
- Application: İstemci bilgisayarda çalışan yazılımlardır. GUI uygulaması olabileceği gibi arka planda çalışan servislerde olabilir.
- Web Application: Web konteynerde koşturulan ve HTTP isteklerini karşılayan yapılardır. (Servlets, JSF gibi )
- EJB: (Enterprise Java Bean ) EJB konteynerin Transaction destekli iş mantığını yöneten bileşenlerdir.
Hibernate
Hibernate bir ORM Framework ‘tür. Asıl amacı olarak sınıfları veri tabanı dosyasına dönüştürür diyebiliriz. Hibernate ile yapılan tüm işlemleri JDBC
2 ile yapabilmekteyiz. Esasında Hibernate veri tabanımızla aramızdaki tüm işlemleri yürüten bir aracıdır.
Spring
Spring bir Framework ‘tur. Spring, kurumsal uygulamalar geliştirmek için en popüler java geliştirme ortamıdır. Dünya genelinde milyonlarca geliştirici Spring Framework üzerinde kolayca test edilebilir, yüksek performanslı uygulamalar geliştirmektedir.
Maven
Maven, proje geliştirirken proje içerisinde bir standart oluşturmamızı, geliştirme sürecini basitleştirmemizi, dokümantasyonumuzu etkili bir şekilde oluşturmamızı, projemizdeki kütüphane bağımlılığını ve IDE bağımlılığını ortadan kaldırmamızı sağlayan bir araçtır.
Applet, bir tarayıcı içerisinde çalışan program parçasıdır. Bir web sayfasında bir resim veya tablo gibi belli bir dikdörtgen içerisinde çalışır ve programlamayla yapabilecek birçok işlemi gerçekleştirebilir. İndirildiği makineye bağlanıp veri alış verişinde bulunabilir, kullanıcıyla etkileşimli olarak çalışabilir.
Metotlar
Bir görevi yerine getirmek için kod bloğunun bir araya gelmesidir. Programı küçük parçalara bölmek için metotları kullanırız. İsimlendirmesine fiil içermesine dikkat edilmelidir. OOP(Nesne Yönelimli Programlama) programlar birbirleri ile etkileşimde olmalıdır. 4 çeşit metot vardır. Bunlar:
- Parametreli – Dönüşlü Metotlar
public int SayiArttir(int sayi)
{
return sayi++;
}
- Parametresiz – Dönüşlü Metotlar
public int Topla()
{
int s1=10; int s2=5; return s1+s2;
}
- Parametreli – Dönüşsüz Metotlar
public void Yaz(String metin)
{
System.out.println(metin);
}
- Parametresiz – Dönüşsüz Metotlar
public void Yaz() {
System.out.println("Hoş geldin");
}
Overloading(Metotlarda aşırı yüklenme)
Aynı sınıfta ve aynı isimde metot tanımlamaya denir. Metot aşırı yüklemenin kuralları vardır. Bunlar:
- Metotların isimlerinin aynı olması
- Metotların parametre sayıları eşit ise bu parametrelerden en az birinin tipi farklı olmalıdır. Parametre sayıları farklı olabilir.
- Metotların aynı sınıfta olması gerekir.
Aşırı yüklenme konusuna bir örnek verelim o zaman…
public void Yaz()
{
//içerik
}
public void Yaz(String metin)
{
//içerik
}
public void Yaz(int sayi)
{
//içerik
}
Özyineleme(Recursion)
Metodu kendi içinde tekrar çağırma fonksiyonlardır.
O zaman bir örnekle gösterelim
Kurucu Metot(Constructor)
Java ‘da nesne ana programda çalıştırıl çalıştırılmaz bir metodun çalışmasını istiyorsak kurucu metod kulanılır.
Bir de şu konuya değinelim kurucu metotta Aşırı Yükleme(Overloading) kavramını kullanabiliriz.
public class kurucumetot {
kurucumetot()
{
System.out.println("ben parametresiz kurucu metotdum");
}
kurucumetot(String ad)
{
System.out.println("Ben parametreli kurucu metodum");
}
}
Static Metot
Oluşturulan metodun nesne çağırılmadan kullanabilme özelliğine denir. Örnek bir uygulama yaparak daha iyi kavrayabiliriz.
public class Staticmetodlar {
public static int x = 5;
public static void MerhabaDe() {
System.out.println("Merhaba");
}
public static void (String[] args) {
MerhabaDe();
System.out.println("x = "+Staticmetodlar.x);
}
}
This Yapısı
Sınıf içerisinde tanımlanan değişken metot içerisinde aynı isimdeki değişkeni ayırmak için kullanılır. Örneğin:
public class Thisyapisi {
public int x;
public void Hesapla(int x) {
this.x = x + 1;
System.out.println("x : " + this.x);
}
}
Erişim Belirleyiciler(Acces Modify)
Java ‘da sınıfların değişkenlerine ve metotlarına erişimlerini erişim belirleyicilerle kısıtlayabiliriz. 4 temel erişim belirleyicisi vardır. Bunlar:
- PublicHer yerden ulaşılabilirler.
public int x;
- PrivateSadece içinde bulunduğu sınıfın içinde erişim yapılabilir.
private int x;
- ProtectedSadece paket içinde erişim yapılabilir. Bir de ek olarak türemişler(Kalıtım alan sınıflar) de vardır.
protected int x;
- DefaultSadece sınıf içinde erişim yapılabilir. Bu erişim belirleyicisinde başta herhangi bir kelime gelmez.
int x;
Kapsülleme(Encapsulation)
Bir sınıfın içerisindeki değişkenlerin ve metotların korunmasıdır. Metot ve değişkenlerin dışarıdan erişimin sakıncalı olduğu durumlarda kapsülleme mekanizması kullanılır. Kapsülleme sayesinde sınıf üyeleri dış dünyadan gizlenir.
public class Kasulleme {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Getter – Setter
Java ‘da erişim belirleyici olarak private değişkenlerinin kullanılmasını sağlayarak veri kapsülleme durumunun sağlanmasına olanak sağlayan metotlara denir. Bir örnek verelim.
public class GetterSetter {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Kalıtım(inheritance)
Miras anlamı da vardır. Bir sınıftan başka bir sınıf türeterek bu sınıfın metotlarını ve değişkenlerini kullanmamıza olanak sağlayan bir yapıdır. Kalıtım alınan sınıfın değişken ve metotlarını elde edebiliriz. Bir sınıfı mirasçı olarak bir başka sınıfa miras bırakmak için miras alacak sınıfın isminden sonra extends sözcüğü kullanılır. Bir örnekler konuyu açıklığa kavuşturalım.
canli.java
public class canli {
public int el;
public int ayak;
}
insan.java
public class insan extends canli {
public void NefesAl() {
System.out.println("Nefes aldım");
}
}
kalitim.java
public class Kalitim {
public static void main(String[] args) {
insan i = new insan();
i.NefesAl();
i.el = 2;
i.ayak = 2;
System.out.println("Benim "+i.el+" adet elim ve "+i.ayak+" adet ayağım vardır.");
}
}
Super
Super anahtar sözcüğü kalıtım alınan sınıfın kurucu metodunu çağırmak için kullanılır. Örnek bir kullanım yapalım.
canli.java
public class canli {
canli()
{
System.out.println("Kurucu metot");
}
}
insan.java
public class insan extends canli {
public insan()
{
super();
}
}
Kalitim.java
public class Kalitim {
public static void main(String[] args) {
insan i = new insan();
}
}
Override(Metot Ezme)
Kalıtımda aynı metottan aynı isimde iki metot varsa çalışmasını istediğimiz başına koyarsak diğer metodu ezip çalışmamasını sağlarız.
Sinif1.java
public class Sinif1 {
public void Yaz() {
System.out.println("Hoşgeldiniz");
}
}
Sinif2.java
public class Sinif2 extends Sinif1 {
@Override
public void Yaz() {
System.out.println("Merhaba");
}
}
override.java
public class override {
public static void main(String[] args) {
Sinif2 s = new Sinif2();
s.Yaz();
}
}
Görüldüğü üzere kalıtım aldığı sınıfın metodunu saf dışı edip kendi sınıfındaki metodu kullandık.
Final
Java da final sözcüğünün 4 temel kullanımı vardır.
- Sabit değer elde etmek için kullanılır. Final değişkenleri tanımlandığı gibi değer verilmelidir. Aksi takdirde hata alırsınız.
public final int x=3;
- Metotların ezme(override) olayını engellemek için kullanılır.
public final void Yaz()
{
System.out.println("final kavramı");
}
- Bir sınıfı kısırlaştırmak için kullanılır. Yani kalıtım yapılmasını engeller.
public final class Sinif {
//metot ve değişkenler
}
- Metodun parametrelerinde final kullanılır. Metot final türünde bir değişken alıyorsa o değişken sadece okunabilir ve değişkenin değeri değiştirilemez.
Final.java
public final class Final {
public void Metod(final int id) {
System.out.println("id değeri = " + id);
}
}
program.java
public class program {
public static void main(String[] args) {
Final f = new Final();
f.Metod(5);
}
}
Yorumlar
Yorum Gönder