Language মধ্যম

প্রাইভেট মেথড ব্যবহার করে ইন্টারফেসে শেয়ারড লজিক (shared logic) এক্সট্র্যাক্ট করুন।

✕ Java 8
interface Logger {
    default void logInfo(String msg) {
        System.out.println(
            "[INFO] " + timestamp() + msg);
    }
    default void logWarn(String msg) {
        System.out.println(
            "[WARN] " + timestamp() + msg);
    }
}
✓ Java 9+
interface Logger {
    private String format(String lvl, String msg) {
        return "[" + lvl + "] " + timestamp() + msg;
    }
    default void logInfo(String msg) {
        IO.println(format("INFO", msg));
    }
    default void logWarn(String msg) {
        IO.println(format("WARN", msg));
    }
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
🧩

কোড রিইউজ (Code Reuse)

ডুপ্লিকেশন ছাড়াই ডিফল্ট মেথডগুলোর মধ্যে লজিক শেয়ার করুন।

🔐

এনক্যাপসুলেশন (Encapsulation)

ইমপ্লিমেন্টেশন ডিটেইলস ইমপ্লিমেন্টিং ক্লাসগুলো থেকে লুকানো থাকে।

🧹

DRY ইন্টারফেস

ডিফল্ট মেথডগুলোর মধ্যে আর কপি-পেস্টের প্রয়োজন নেই।

পুরনো পদ্ধতি
ডুপ্লিকেটেড লজিক
আধুনিক পদ্ধতি
প্রাইভেট মেথডস (Private Methods)
JDK থেকে
9
কঠিনতা
মধ্যম
প্রাইভেট ইন্টারফেস মেথড (Private Interface Methods)
উপলব্ধ

JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ

Java 9 ইন্টারফেসে প্রাইভেট মেথড ব্যবহারের অনুমতি দেয়, যা আপনাকে ইমপ্লিমেন্টিং ক্লাসগুলোর (implementing classes) কাছে ইমপ্লিমেন্টেশন ডিটেইলস এক্সপোজ না করেই ডিফল্ট মেথডগুলোর মধ্যে কোড শেয়ার করতে সক্ষম করে।