Java Record

0 332

Java’da record tanımları çıkmasıyla boilerplate kod yazımını nasıl daha aza indirgeyebiliriz bunu örnekleyeme çalışacağız.

Java’daki record veri odaklı özel bir class tanımıdır ve boilerplate(basma kalıp) kod yazımını azaltmak için vardır. Tabii ki biz yazmasak da

compiler bizim yerimize bunu ekliyor olacak.

 

Örnek record tanımı ve kullanımı:

Biz methodları tanımlamasak da bunların var olduğuna inanıyoruz. Peki nerdeler?

Gördüğümüz üzere bizim yerimize equals(), toString(), hashCode() methodları, record tanımında yaptığımız sırada bir constructor ve field’lara ulaşmak için methodlar mevcut.

 

Immutable Record

Yukarıdaki hem method listesinden hem de compile olmayan koddan anlayacağımız üzere record’ların setter methodları yok.

Record özellikleri aynı zamanda final yani constructor’da oluşturulduktan sonra değiştiremezsiniz.

Yukarıdaki record tanımında bulunan final keyword’ü gereksizdir. Ayrıca buradan anlayacağımız üzere enum’lar gibi record’ları da extend edemeyiz.

 

Constructor Overloading

Aşağıdaki gibi record tanımından bağımsız constructor overloading işlemi gerçekleştirebiliriz. Fakat constructor’ın ilk satırı this methodu ile başka bir constructor methodunu çağırmalıdır.

 

Compact Constructor

Compact constructor, bir record tanımındaki parametreler ile contructor oluşturamacağımız için özel bir constructor tipi. Bu sayede gerekli validasyonları yapabiliriz.

 

 

Kaynak;

OCP Study Guide – Scott Selikoff & Jeanne Boyarsky

 

Faydalı olması dileğiyle.

Email adresiniz yayınlanmayacaktır.