Lecture: ( by Vikash Das, youtube ) →
https://www.youtube.com/watch?v=ntSYb-tzjBE&list=PLupK5DK91flV45dkPXyGViMLtHadRr6sp&index=3
Notes:

OOP (Object-Oriented Programming) is a way of writing code by grouping related data and actions together into "objects," modeled on real-world things.
Class = a blueprint / template.
A class describes what a type of something is and can do, but it isn't a real item yet. In the picture, Employee and Phone are classes.
Try imagining the Employee class → When I know a person belongs to this class, I know what a type of this thing is (this person is an employee) and what it can do (can report, travel,…)
Each class has two parts:
Object = one real example made from the class.
When you use the blueprint to create an actual, specific thing, that thing is an object (also called an instance).
Each object has its own values for the attributes (Sam's name and salary differ from another employee's), but all objects share the same structure and methods defined by their class.
Easy way to hold it: