ক্লাস কোডকে জেনেরিক, রিয়ুজেবল টুকরোতে অর্গানাইজ করার একটি মেকানিজম। সেরা অবস্থায় সেগুলো রিয়ুজেবল কোড স্নিপেট যা বারবার কম বা শূন্য মডিফিকেশন দিয়ে ব্যবহার করা যায়। ক্লাস কনসেপ্ট বায়োলজিক্যাল কালেকশন অফ ফিচার (অ্যাট্রিবিউট) এবং এবিলিটি (মেথড) থেকে অনুপ্রাণিত।
ফাংশনগুলো ব্যবহার করার জন্য ভালো যখন ডেটা কাজের জন্য ক্রিটিক্যাল। ক্লাসগুলো ব্যবহার করার জন্য ভালো যখন আপনাকে অ্যাট্রিবিউট এবং মেথডের একটি কালেকশন রিপ্রেজেন্ট করতে হয় যা অন্যান্য জায়গায় বারবার ব্যবহার করা হবে।
সাধারণত যদি আপনি ফাংশনের ভিতরে ফাংশন লিখতে থাকেন তবে ক্লাস লিখতে বিবেচনা করা উচিত। আপনার ক্লাসে শুধু একটি ফাংশন থাকলে শুধু ফাংশন লিখলেই ভালো।
ফাংশন থেকে ক্লাসে মুভ করার একটি ভালো কারণ হলো কমপোজিশন ওভার ইনহেরিটেন্স ব্যবহার করে ক্লাস লিখা।