An object in the real world is a thing, such as a car or a person. An object in programming often represents something in the real world, such as a product or bank account, but can also be something more abstract.
In C#, we use class (usually) or struct (rarely) to define each type of object. You can think of a type as being a blueprint or template for an object.
Object-oriented programming concepts are briefly described here:
- Encapsulation is the combination of the data and actions that are related to an object. For example, a BankAccount type might have data, such as Balance and AccountName, as well as actions, such as Deposit and Withdraw. When encapsulating, you often want to control what can access those actions and the data.
- Composition is about what an object is made of. For example, a car is composed of different parts, such as four wheels, several seats...