DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

Method References

Java'da method references (metod referansları), Java 8 ile gelen ve lambda ifadelerinin daha okunabilir ve kısa hale getirilmesini sağlayan bir özelliktir. Metod referansları, belirli bir metodun doğrudan adını kullanarak, o metodu bir lambda ifadesi yerine geçirebilir. Bu, özellikle tekrar tekrar kullanılan metodlar için kod tekrarını azaltır ve kodun okunabilirliğini artırır.

Metod referansları dört ana türde olabilir:

  1. Statik Metod Referansları:

    • Sınıfın statik metodlarına direkt sınıf adı üzerinden erişim sağlar.
    • Örnek: ClassName::staticMethodName
  2. Belirli Bir Nesnenin İnstance Metod Referansları:

    • Belirli bir nesnenin instance metodlarına o nesnenin referansı üzerinden erişim sağlar.
    • Örnek: instance::instanceMethodName
  3. Belirli Bir Tipin Herhangi Bir Nesnesinin İnstance Metod Referansları:

    • Belirli bir tipin herhangi bir nesnesinin instance metodlarına direkt tip adı üzerinden erişim sağlar.
    • Örnek: ClassName::instanceMethodName
  4. Yapıcı Metod Referansları (Constructor References):

    • Bir sınıfın yapıcı metoduna (constructor) direkt sınıf adı üzerinden erişim sağlar.
    • Örnek: ClassName::new

Metod referansları, :: operatörü kullanılarak ifade edilir. Örneğin, bir listenin her elemanını büyük harfe çeviren bir metodunuz varsa ve bu işlemi bir stream üzerinde yapmak istiyorsanız, şu şekilde bir lambda ifadesi yazabilirsiniz:

list.forEach(s -> System.out.println(s.toUpperCase()));
Enter fullscreen mode Exit fullscreen mode

Aynı işlemi metod referansı kullanarak daha kısa ve okunabilir bir şekilde yapabilirsiniz:

list.forEach(System.out::println);
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, System.out nesnesinin println metoduna bir referans verilmiş ve lambda ifadesi yerine geçmiştir.

Metod referansları, fonksiyonel arayüzlerle (functional interfaces) birlikte kullanıldığında, kodun daha temiz ve anlaşılır olmasını sağlar. Ayrıca, Java'nın işlevsel programlama özelliklerini daha etkin kullanmanıza olanak tanır¹²³.

Kaynaklar:

Kaynak: Bing ile konuşma, 17.05.2024
(1) Java 8 - Method Reference – KodEdu. https://kodedu.com/2014/09/java-8-method-reference/.
(2) Method References in Java | Baeldung. https://www.baeldung.com/java-method-references.
(3) Java 8 Method Reference - javatpoint. https://www.javatpoint.com/java-8-method-reference.
(4) Java 8 - Method Reference – KodEdu. https://kodedu.com/2014/09/java-8-method-reference/.
(5) Method References in Java | Baeldung. https://www.baeldung.com/java-method-references.
(6) Java 8 Method Reference - javatpoint. https://www.javatpoint.com/java-8-method-reference.
(7) Method References | Java Tutorial for Beginners. https://java-tutorial.dev/docs/Functional-Programming-In-Java/Method-References.

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay