Before talking about the more complex concepts within OOPs, we need to know what an Object Oriented Programming language is.
The C programming language is not an Object Oriented Programming language. In Arduino we use a modified version of C which can be compared to C++ programming. And, since C++ is an Object Oriented Programming language, we can implement the benefits of OOP in our Arduino projects.
An Object Oriented Programming language must have a few characteristics (inheritance, encapsulation, polymorphism, and so on) in order to be defined as an Object Oriented Programming language. C is an implementation language. In short, in C, we write a long code. But in OOPs, the code can be shortened using a number of techniques. These techniques are the OOPs's characters.