Java এর OOPs (Object-Oriented Programming) ধারণা এবং এর চারটি প্রধান বৈশিষ্ট্য কী কী (Encapsulation, Inheritance, Polymorphism, এবং Abstraction)?

Java এর বেসিক প্রশ্নাবলী - জাভা ইন্টারভিউ প্রশ্ন (Java Interview Questions) - Java Technologies

454

Java তে OOPs (Object-Oriented Programming) হল একটি প্রোগ্রামিং পদ্ধতি যা অবজেক্ট এবং ক্লাসের ধারণার উপর ভিত্তি করে। এর মূল উদ্দেশ্য হল সফটওয়্যারের পুনঃব্যবহারযোগ্যতা, মডুলারিটি, এবং রক্ষণাবেক্ষণযোগ্যতা বৃদ্ধি করা।

OOPs এর চারটি প্রধান বৈশিষ্ট্য:

  1. Encapsulation (এনক্যাপসুলেশন):
    • বর্ণনা: এনক্যাপসুলেশন হল এক বা একাধিক ভ্যারিয়েবল (ডেটা) এবং মেথড (ফাংশন) একত্রিত করে একটি একক ইউনিট বা ক্লাসে সংরক্ষণ করার প্রক্রিয়া। এটি ডেটার উপর নিয়ন্ত্রণ রাখতে সহায়তা করে এবং বাইরের কোডের থেকে ডেটা অ্যাক্সেসের উপর সীমাবদ্ধতা আরোপ করে।
    • উদাহরণ:

      class Car {
          private String model;  // Private data member
      
          // Getter method
          public String getModel() {
              return model;
          }
      
          // Setter method
          public void setModel(String model) {
              this.model = model;
          }
      }
      

      এখানে model প্রাইভেট ডেটা মেম্বার, এবং getModel()setModel() মেথড গুলি পাবলিক, যা বাইরের ক্লাস থেকে ডেটা অ্যাক্সেস এবং পরিবর্তন করতে দেয়।

  2. Inheritance (ঐতিহ্য):
    • বর্ণনা: ইনহেরিট্যান্স হল একটি কনসেপ্ট যেখানে একটি ক্লাস অন্য একটি ক্লাসের বৈশিষ্ট্য (ফিল্ড এবং মেথড) ও আচরণ অর্জন করতে পারে। এটি কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে এবং একই ধরনের অবজেক্টের মধ্যে সাধারণ বৈশিষ্ট্য ভাগ করে নিতে সাহায্য করে।
    • উদাহরণ:

      class Animal {
          public void sound() {
              System.out.println("Some animal makes a sound");
          }
      }
      
      class Dog extends Animal {  // Dog class inherits from Animal class
          public void sound() {
              System.out.println("Bark");
          }
      }
      

      এখানে Dog ক্লাস Animal ক্লাস থেকে ইনহেরিট করছে এবং তার sound() মেথডটি ওভাররাইড করেছে।

  3. Polymorphism (পলিমরফিজম):
    • বর্ণনা: পলিমরফিজম মানে "একই নামের বিভিন্ন আচরণ"। এর মাধ্যমে একটি মেথড বা অপারেটরের বিভিন্ন রূপ থাকতে পারে। পলিমরফিজমের দুটি প্রকার:
      • মেথড ওভারলোডিং: একই মেথড নাম কিন্তু ভিন্ন প্যারামিটার সহ।
      • মেথড ওভাররাইডিং: একটি সুপারক্লাসের মেথডকে সাবক্লাসে পরিবর্তন করা।
    • উদাহরণ:

      class Animal {
          public void sound() {
              System.out.println("Some animal makes a sound");
          }
      }
      
      class Dog extends Animal {
          @Override
          public void sound() {
              System.out.println("Bark");
          }
      }
      
      public class TestPolymorphism {
          public static void main(String[] args) {
              Animal myAnimal = new Dog();  // Runtime polymorphism
              myAnimal.sound();  // Output: Bark
          }
      }
      

      এখানে, myAnimal অবজেক্টটি Dog ক্লাসের একটি অবজেক্ট, কিন্তু sound() মেথডটি রানটাইমে Dog ক্লাসের sound() মেথড কল করছে।

  4. Abstraction (এবস্ট্রাকশন):
    • বর্ণনা: এবস্ট্রাকশন হল এমন একটি প্রক্রিয়া যার মাধ্যমে সিস্টেমের জটিলতা হ্রাস করা হয় এবং শুধুমাত্র গুরুত্বপূর্ণ তথ্য বা বৈশিষ্ট্য ব্যবহারকারী বা অন্যান্য সিস্টেমের জন্য প্রকাশ করা হয়। এটি abstract ক্লাস এবং interface এর মাধ্যমে অর্জিত হয়। এবস্ট্রাকশনে বিস্তারিত বাস্তবায়ন (implementation) লুকানো থাকে, এবং শুধুমাত্র প্রয়োজনীয় মেথডের সিগনেচার বা কন্ট্রাক্ট প্রকাশ করা হয়।
    • উদাহরণ:

      abstract class Animal {
          public abstract void sound();  // Abstract method
      }
      
      class Dog extends Animal {
          @Override
          public void sound() {
              System.out.println("Bark");
          }
      }
      
      public class TestAbstraction {
          public static void main(String[] args) {
              Animal myAnimal = new Dog();
              myAnimal.sound();  // Output: Bark
          }
      }
      

      এখানে Animal ক্লাসটি একটি অ্যাবস্ট্রাক্ট ক্লাস যা sound() মেথডের কেবল সিগনেচার দিয়েছে এবং Dog ক্লাসে এর বাস্তবায়ন (implementation) দেয়া হয়েছে।


Java এর OOPs ধারণা হল একটি শক্তিশালী প্রোগ্রামিং পদ্ধতি যা কোডের পুনঃব্যবহারযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা এবং মডুলারিটি নিশ্চিত করে। এর চারটি প্রধান বৈশিষ্ট্য:

  1. Encapsulation - ডেটাকে সুরক্ষিত রাখা এবং প্রাইভেট ডেটাতে শুধুমাত্র নিয়ন্ত্রণযুক্ত অ্যাক্সেস প্রদান।
  2. Inheritance - কোডের পুনঃব্যবহারযোগ্যতা এবং সাধারণ বৈশিষ্ট্য ভাগ করে নেয়ার প্রক্রিয়া।
  3. Polymorphism - একই নামের বিভিন্ন আচরণ বা মেথডের বিভিন্ন রূপ।
  4. Abstraction - শুধুমাত্র গুরুত্বপূর্ণ তথ্য প্রকাশ করা এবং বাস্তবায়ন লুকানো।

এই বৈশিষ্ট্যগুলি অ্যাপ্লিকেশনের কোডের সহজ রক্ষণাবেক্ষণ এবং স্কেলেবিলিটি উন্নত করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...