Primitive এবং Object ডেটা টাইপস

Computer Programming - গ্রুভি (Groovy) ডেটা টাইপস এবং ভেরিয়েবলস (Data Types and Variables in Groovy) |
176
176

Groovy তে Primitive এবং Object ডেটা টাইপস

Groovy তে Java এর মতোই প্রিমিটিভ এবং অবজেক্ট ডেটা টাইপ রয়েছে। Java তে প্রিমিটিভ ডেটা টাইপগুলি সরাসরি মেমোরিতে স্টোর হয় এবং এদের সাথে সম্পর্কিত কোনো অবজেক্ট থাকে না। তবে Groovy তে প্রিমিটিভ টাইপগুলি স্বয়ংক্রিয়ভাবে অবজেক্ট টাইপে কনভার্ট হয়, যা অটো-বক্সিং নামে পরিচিত।

Groovy তে ডেটা টাইপগুলি দুটি প্রধান ক্যাটাগরিতে ভাগ করা যায়:

  1. Primitive Data Types
  2. Object Data Types

1. Primitive Data Types

প্রিমিটিভ ডেটা টাইপগুলি সরাসরি মেমোরিতে স্টোর হয় এবং এগুলি সাধারণত ছোট আকারের এবং কম মেমোরি ব্যবহার করে। Groovy তে প্রিমিটিভ টাইপগুলো Java এর প্রিমিটিভ টাইপগুলির মতোই, যেমন:

ডেটা টাইপব্যাখ্যাউদাহরণ
byte8-বিট সাইনড ইন্টিজারbyte b = 1
short16-বিট সাইনড ইন্টিজারshort s = 10
int32-বিট সাইনড ইন্টিজারint i = 100
long64-বিট সাইনড ইন্টিজারlong l = 1000L
float32-বিট IEEE 754 ফ্লোটিং পয়েন্টfloat f = 1.23F
double64-বিট IEEE 754 ফ্লোটিং পয়েন্টdouble d = 2.34
char16-বিট Unicode ক্যারেক্টারchar c = 'A'
booleantrue অথবা false মান ধারণ করেboolean b = true

Groovy তে এই প্রিমিটিভ ডেটা টাইপগুলো ব্যবহার করা গেলেও, এগুলি সাধারণত Object ডেটা টাইপে রূপান্তরিত হয়।


2. Object Data Types

Groovy তে প্রতিটি প্রিমিটিভ টাইপের সাথে সংশ্লিষ্ট অবজেক্ট টাইপ রয়েছে। এই অবজেক্ট টাইপগুলি Java এর Wrapper classes এর সাথে সাদৃশ্যপূর্ণ। উদাহরণস্বরূপ, int এর অবজেক্ট টাইপ Integer এবং boolean এর অবজেক্ট টাইপ Boolean। এই অবজেক্ট টাইপগুলোর সাহায্যে প্রিমিটিভ টাইপের উপর বিভিন্ন মেথড ব্যবহার করা যায়।

Primitive TypeObject Type (Wrapper Class)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

উদাহরণস্বরূপ:

int num = 10          // Primitive type
Integer numObj = num  // Autoboxing to Object type
println numObj.class  // Output: class java.lang.Integer

Groovy তে প্রিমিটিভ টাইপ অটোমেটিক্যালি অবজেক্ট টাইপে কনভার্ট হয় যখন প্রয়োজন হয় এবং এটিকে Autoboxing বলে। আবার অবজেক্ট টাইপকে প্রিমিটিভ টাইপেও পরিবর্তন করা যায় এবং এটি Unboxing নামে পরিচিত।


Autoboxing এবং Unboxing

Groovy তে Autoboxing এবং Unboxing স্বয়ংক্রিয়ভাবে ঘটে। যখন প্রিমিটিভ টাইপের একটি ভেরিয়েবলকে অবজেক্ট টাইপে কনভার্ট করতে হয়, তখন Groovy এটি স্বয়ংক্রিয়ভাবে করে থাকে। একইভাবে, অবজেক্ট টাইপকে প্রিমিটিভ টাইপে রূপান্তরিত করাও স্বয়ংক্রিয়ভাবে করা হয়।

int num = 100                 // Primitive type
Integer objNum = num          // Autoboxing
int newNum = objNum           // Unboxing
println newNum                // Output: 100

পার্থক্য: Autoboxing এবং Unboxing এর মাধ্যমে Groovy তে প্রিমিটিভ এবং অবজেক্ট টাইপ একে অপরের সাথে মিশ্রিতভাবে ব্যবহার করা যায়, যা কোডিংকে আরও সহজ এবং কার্যকর করে তোলে।


String: একটি বিশেষ Object Data Type

Groovy তে String একটি বিশেষ ধরনের Object ডেটা টাইপ। এটি Immutable অর্থাৎ, এর মান পরিবর্তন করা যায় না। String এ স্ট্রিং ইন্টারপোলেশন ব্যবহার করা যায়, যা কোডিংকে আরও সুবিধাজনক করে তোলে।

String name = "Groovy"
println "Hello, $name!"  // Output: Hello, Groovy!

Groovy তে স্ট্রিং এর ম্যানিপুলেশন সহজ এবং এটি ডায়নামিক ভাবে স্ট্রিং এর মেথড ব্যবহার করতে পারে।


Dynamic Typing: Groovy তে def ব্যবহার

Groovy তে def ব্যবহার করে ভেরিয়েবল ডিক্লার করতে গেলে এটি ডাইনামিক টাইপ ধারণ করে, অর্থাৎ যে কোনো টাইপের মান সংরক্ষণ করতে পারে।

def age = 30         // Integer type
age = "Thirty"       // String type
println age          // Output: Thirty

উল্লেখযোগ্য দিক: Java তে ভেরিয়েবল টাইপ একবার নির্ধারিত হলে পরিবর্তন করা যায় না, কিন্তু Groovy তে def ব্যবহার করলে টাইপ পরিবর্তন করা সম্ভব।


সারসংক্ষেপ:

Groovy তে Primitive এবং Object টাইপগুলির মিশ্রণ Java থেকে সহজ এবং ব্যবহারবান্ধব। প্রিমিটিভ ডেটা টাইপের উপর ভিত্তি করে Object টাইপগুলি ম্যানেজ করা সহজ এবং Dynamic Typing এবং Autoboxing সুবিধাগুলি প্রোগ্রামিংকে আরও নমনীয় করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion