which part of a class is invoked when an object is initialize in java?

Updated: 3 months ago
  • constructor
  • fields
  • methods
  • class
631
ব্যাখ্যাঃ

জাভাতে (Java) যখন একটি অবজেক্ট ইনিশিয়ালাইজ (initialize) করা হয়, তখন ক্লাসের যে অংশটি স্বয়ংক্রিয়ভাবে কল (invoke) হয় তাকে কনস্ট্রাক্টর (Constructor) বলে। কনস্ট্রাক্টর হলো একটি বিশেষ ধরণের মেথড যার নাম ক্লাসের নামের মতোই হয় এবং এর কোনো রিটার্ন টাইপ থাকে না। এর মূল কাজ হলো নতুন তৈরি হওয়া অবজেক্টটির প্রাথমিক অবস্থা (initial state) সেট করা। যখন আপনি new কীওয়ার্ড ব্যবহার করে একটি অবজেক্ট তৈরি করেন (যেমন: MyClass obj = new MyClass();), তখন MyClass এর সংশ্লিষ্ট কনস্ট্রাক্টরটি স্বয়ংক্রিয়ভাবে ইনিশিয়ালাইজেশন প্রক্রিয়া সম্পন্ন করার জন্য কল হয়।

        
  • কনস্ট্রাক্টর (Constructor): এটিই সঠিক উত্তর। অবজেক্ট তৈরির সময় ইনিশিয়ালাইজেশনের দায়িত্ব এর ওপর বর্তায়।
  •     
  • ফিল্ডস (Fields): এগুলো হলো ক্লাসের ইনস্ট্যান্স ভেরিয়েবল (instance variables) যা অবজেক্টের ডেটা বা বৈশিষ্ট্য ধারণ করে। ইনিশিয়ালাইজেশন প্রক্রিয়ায় কনস্ট্রাক্টর এই ফিল্ডগুলোর মান সেট করে, তবে ফিল্ডস নিজে "invoked" হয় না।
  •     
  • মেথডস (Methods): এগুলো ক্লাসের আচরণ বা কার্যকারিতা সংজ্ঞায়িত করে। কনস্ট্রাক্টরও এক ধরণের মেথড হলেও, সাধারণত 'মেথড' বলতে আমরা এমন ফাংশন বুঝি যা অবজেক্ট তৈরির পর নির্দিষ্ট কাজ সম্পাদনের জন্য ম্যানুয়ালি বা অন্য কোনো ইভেন্টের মাধ্যমে কল করা হয়। সরাসরি অবজেক্ট ইনিশিয়ালাইজেশনের সময় সাধারণ মেথডগুলো স্বয়ংক্রিয়ভাবে কল হয় না।
  •     
  • ক্লাস (Class): ক্লাস হলো একটি অবজেক্ট তৈরির জন্য একটি ব্লুপ্রিন্ট বা টেমপ্লেট। এটি কোনো অবজেক্ট ইনিশিয়ালাইজ করার সময় নিজে "invoked" হয় না, বরং এর উপর ভিত্তি করে অবজেক্ট তৈরি হয়।
Satt AI
Satt AI
2 weeks ago

জাভা (Java) হলো একটি অবজেক্ট-ওরিয়েন্টেড, ক্লাস-ভিত্তিক প্রোগ্রামিং ভাষা, যা সাধারণত ওয়েব ডেভেলপমেন্ট, মোবাইল অ্যাপ ডেভেলপমেন্ট, ডেস্কটপ অ্যাপ্লিকেশন, এবং এন্টারপ্রাইজ সিস্টেম তৈরিতে ব্যবহৃত হয়। এটি ১৯৯৫ সালে সান মাইক্রোসিস্টেমস (Sun Microsystems) দ্বারা তৈরি করা হয়েছিল এবং বর্তমানে এটি ওরাকল কর্পোরেশন দ্বারা রক্ষণাবেক্ষণ করা হয়। জাভা একটি বহুল ব্যবহৃত এবং জনপ্রিয় প্রোগ্রামিং ভাষা, যার কারণ হলো এর প্ল্যাটফর্ম-স্বাধীনতা, নিরাপত্তা, এবং বহুমুখীতা।

জাভার মূল বৈশিষ্ট্য:

১. প্ল্যাটফর্ম স্বাধীনতা (Platform Independence):

  • জাভার প্রধান বৈশিষ্ট্য হলো এটি "Write Once, Run Anywhere" (WORA) ধারণায় কাজ করে। জাভায় লেখা কোড যে কোনো প্ল্যাটফর্মে, যেমন Windows, macOS, Linux, বা Unix-এ চালানো যায়।
  • জাভার প্রোগ্রাম প্রথমে বাইটকোডে রূপান্তরিত হয়, যা জাভা ভার্চুয়াল মেশিন (JVM) ব্যবহার করে যে কোনো প্ল্যাটফর্মে চালানো যায়।

২. অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (Object-Oriented Programming - OOP):

  • জাভা একটি সম্পূর্ণ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা, যা ক্লাস, অবজেক্ট, ইনহেরিটেন্স, পলিমরফিজম, এবং এনক্যাপসুলেশন ধারণা ব্যবহার করে।
  • OOP-এর মাধ্যমে জাভা কোড পুনঃব্যবহারযোগ্য, মডুলার, এবং রক্ষণাবেক্ষণযোগ্য করে।

৩. নিরাপত্তা (Security):

  • জাভা বিভিন্ন নিরাপত্তা বৈশিষ্ট্য সরবরাহ করে, যেমন স্যান্ডবক্সিং, সিকিউরিটি ম্যানেজার, এবং বাইটকোড ভেরিফিকেশন, যা কোডের নিরাপত্তা নিশ্চিত করে।
  • এটি ম্যালওয়্যার এবং নিরাপত্তা ফাঁক থেকে সুরক্ষা প্রদান করতে সহায়ক।

৪. অটোমেটিক মেমোরি ম্যানেজমেন্ট (Automatic Memory Management):

  • জাভা গার্বেজ কালেকশন (Garbage Collection) ব্যবহার করে মেমোরি ম্যানেজমেন্ট করে, যা অপ্রয়োজনীয় অবজেক্টগুলো স্বয়ংক্রিয়ভাবে মেমোরি থেকে সরিয়ে দেয়।
  • এটি প্রোগ্রামারের ম্যানুয়াল মেমোরি ম্যানেজমেন্টের প্রয়োজনীয়তা কমিয়ে দেয় এবং মেমোরি লিকের সমস্যা প্রতিরোধ করে।

৫. রবাস্ট এবং নির্ভরযোগ্য (Robust and Reliable):

  • জাভা স্ট্রং টাইপিং এবং এক্সেপশন হ্যান্ডলিং মেকানিজম ব্যবহার করে, যা কোডের ত্রুটি শনাক্ত করতে এবং নিরাপত্তা নিশ্চিত করতে সাহায্য করে।
  • এটি জাভা প্রোগ্রামগুলিকে আরও স্থিতিশীল এবং নির্ভরযোগ্য করে তোলে।

জাভার উপাদান:

১. ক্লাস এবং অবজেক্ট:

  • জাভায় সমস্ত কোড ক্লাসের মধ্যে লেখা হয়, এবং ক্লাসগুলো থেকে অবজেক্ট তৈরি করা হয়। অবজেক্ট হলো ডাটা এবং মেথডের একটি ইনস্ট্যান্স, যা নির্দিষ্ট কাজ সম্পাদন করতে পারে।

২. ইন্টারফেস এবং এবস্ট্রাকশন:

  • ইন্টারফেস এবং এবস্ট্রাক্ট ক্লাস জাভায় বিভিন্ন ক্লাসের মধ্যে যোগাযোগ এবং কাজ ভাগ করে নেয়। এটি কোড মডুলার এবং পুনঃব্যবহারযোগ্য করে।

৩. জাভা লাইব্রেরি এবং API:

  • জাভা বড় একটি স্ট্যান্ডার্ড লাইব্রেরি সরবরাহ করে, যার মধ্যে ফাইল ম্যানিপুলেশন, নেটওয়ার্কিং, ইউটিলিটি ক্লাস, এবং GUI তৈরি করার জন্য বিভিন্ন ক্লাস এবং মেথড রয়েছে।

জাভার অ্যাপ্লিকেশন:

১. ওয়েব ডেভেলপমেন্ট:

  • জাভা ওয়েব ডেভেলপমেন্টে ব্যাপকভাবে ব্যবহৃত হয়। জাভা সার্ভলেটস এবং JSP (JavaServer Pages) ব্যবহার করে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়।
  • এছাড়াও, Spring Framework এবং Hibernate ব্যবহার করে এন্টারপ্রাইজ লেভেলের অ্যাপ্লিকেশন এবং RESTful API তৈরি করা যায়।

২. মোবাইল অ্যাপ্লিকেশন:

  • জাভা অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টের প্রধান প্রোগ্রামিং ভাষা। অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে জাভায় মোবাইল অ্যাপ তৈরি করা যায়।

৩. ডেস্কটপ অ্যাপ্লিকেশন:

  • জাভা Swing এবং JavaFX ব্যবহার করে ডেস্কটপ অ্যাপ্লিকেশন তৈরি করা যায়। এটি বিভিন্ন GUI কম্পোনেন্ট এবং ইন্টারেক্টিভ ইন্টারফেস তৈরিতে সহায়ক।

৪. এন্টারপ্রাইজ অ্যাপ্লিকেশন:

  • জাভা EE (Java Enterprise Edition) ব্যবহার করে বড় প্রতিষ্ঠানগুলোর জন্য এন্টারপ্রাইজ লেভেলের সফটওয়্যার এবং অ্যাপ্লিকেশন তৈরি করা হয়।
  • এটি ব্যাংকিং, টেলিকমিউনিকেশন, এবং অন্যান্য বড় প্রতিষ্ঠানের সফটওয়্যার সলিউশন তৈরিতে ব্যবহৃত হয়।

উদাহরণ: একটি সাধারণ জাভা প্রোগ্রাম

public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("Hello, World!");
   }
}

  • এই প্রোগ্রামে, একটি ক্লাস HelloWorld তৈরি করা হয়েছে, যার মধ্যে একটি main মেথড আছে। main মেথড হলো জাভা প্রোগ্রামের এন্ট্রি পয়েন্ট, এবং এটি Hello, World! মেসেজ প্রিন্ট করে।

জাভার সুবিধা এবং সীমাবদ্ধতা:

সুবিধা:

  • প্ল্যাটফর্ম-স্বাধীনতা: যে কোনো অপারেটিং সিস্টেমে জাভা প্রোগ্রাম চালানো যায়।
  • নিরাপত্তা: জাভা উন্নত নিরাপত্তা বৈশিষ্ট্য প্রদান করে, যা ম্যালওয়্যার এবং নিরাপত্তা ফাঁক প্রতিরোধ করে।
  • প্রযুক্তির বৈচিত্র্য: জাভা ওয়েব, মোবাইল, ডেস্কটপ এবং এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরির জন্য একাধিক ফ্রেমওয়ার্ক এবং টুল সরবরাহ করে।
  • বৃহত্তর সম্প্রদায়: জাভার একটি বড় সম্প্রদায় রয়েছে, যেখানে ডেভেলপাররা সহজেই সমাধান, টিউটোরিয়াল, এবং কোড শেয়ার করতে পারে।

সীমাবদ্ধতা:

  • পারফরম্যান্স: জাভা প্রোগ্রাম সাধারণত মেশিন কোডে সরাসরি কম্পাইল হওয়া প্রোগ্রামের তুলনায় কিছুটা ধীরগতি হতে পারে।
  • মেমোরি খরচ: জাভা প্রোগ্রাম গার্বেজ কালেকশন প্রক্রিয়ার জন্য অনেক সময় মেমোরি বেশি ব্যবহার করে।
  • কোডিং জটিলতা: অন্যান্য হাই লেভেল প্রোগ্রামিং ভাষার তুলনায় জাভার সিনট্যাক্স কিছুটা জটিল হতে পারে, বিশেষত নতুনদের জন্য।

সারসংক্ষেপ:

জাভা হলো একটি শক্তিশালী, বহুমুখী এবং প্ল্যাটফর্ম-স্বাধীন প্রোগ্রামিং ভাষা, যা ওয়েব, মোবাইল, এবং এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরিতে ব্যবহৃত হয়। এটি একটি অবজেক্ট-ওরিয়েন্টেড ভাষা, যা নিরাপত্তা, স্থায়িত্ব, এবং কর্মক্ষমতার জন্য উন্নত বৈশিষ্ট্য প্রদান করে। জাভা একটি বড় সম্প্রদায় এবং শক্তিশালী লাইব্রেরি সহ একটি প্রয়োজনীয় ভাষা, যা নতুন এবং অভিজ্ঞ ডেভেলপার উভয়ের জন্যই উপযোগী।

Related Question

View All
Updated: 7 months ago
  • Oracle Corporation
  • Microsoft Corporation
  • Sun Microsystems
  • IBM
873
Updated: 5 months ago
  • ORACLE

  • JAVA

  • SYBASE

  • INFORMIX

1.2k
Updated: 6 months ago
  • "Box obhj -new BOx();"
  • Box obj=new Box;"
  • obj=new Box();"
  • new Box obj;"
1k
শিক্ষকদের জন্য বিশেষভাবে তৈরি

১ ক্লিকে প্রশ্ন, শীট, সাজেশন
অনলাইন পরীক্ষা তৈরির সফটওয়্যার!

শুধু প্রশ্ন সিলেক্ট করুন — প্রশ্নপত্র অটোমেটিক তৈরি!

প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
প্রশ্ন এডিট করা যাবে
জলছাপ দেয়া যাবে
ঠিকানা যুক্ত করা যাবে
Logo, Motto যুক্ত হবে
অটো প্রতিষ্ঠানের নাম
অটো সময়, পূর্ণমান
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
অটো নির্দেশনা (এডিটযোগ্য)
অটো বিষয় ও অধ্যায়
OMR সংযুক্ত করা যাবে
ফন্ট, কলাম, ডিভাইডার
প্রশ্ন/অপশন স্টাইল পরিবর্তন
সেট কোড, বিষয় কোড
এখনই শুরু করুন ডেমো দেখুন
৫০,০০০+
শিক্ষক
৩০ লক্ষ+
প্রশ্নপত্র
মাত্র ১৫ পয়সায় প্রশ্নপত্র
১ ক্লিকে প্রশ্ন, শীট, সাজেশন তৈরি করুন আজই

Complete Exam
Preparation

Learn, practice, analyse and improve

1M+ downloads
4.6 · 8k+ Reviews

Question Analytics

মোট উত্তরদাতা

জন

সঠিক
ভুল
উত্তর নেই