In this chapter, we have explored the four main pillars of object-oriented programming—inheritance, encapsulation, polymorphism, and abstraction. We started with inheritance and its benefits in software development. We then discussed the different types of inheritance and their implementations. We also discussed the concept of overriding and encapsulation, and we learned that functional programming is not suitable for advanced application development. Then, we had a detailed discussion about abstraction and its advantages, and we looked at the concept of interfaces. In the next chapter, we will discuss some advanced concepts to do with classes that make the Kotlin language unique.
![country flag](/images/countries/us.png)
![country flag](/images/countries/gb.png)
![country flag](/images/countries/india.png)
![country flag](/images/countries/germany.png)
![country flag](/images/countries/france.png)
![country flag](/images/countries/canada.png)
![country flag](/images/countries/russia.png)
![country flag](/images/countries/spain.png)
![country flag](/images/countries/brazil.png)
![country flag](/images/countries/australia.png)
![country flag](/images/countries/singapore.png)
![country flag](/images/countries/hungary.png)
![country flag](/images/countries/ukraine.png)
![country flag](/images/countries/lux.png)
![country flag](/images/countries/estonia.png)
![country flag](/images/countries/lithuania.png)
![country flag](/images/countries/southkorea.png)
![country flag](/images/countries/turkey.png)
![country flag](/images/countries/switzerland.png)
![country flag](/images/countries/colombia.png)
![country flag](/images/countries/taiwan.png)
![country flag](/images/countries/chile.png)
![country flag](/images/countries/norway.png)
![country flag](/images/countries/ecuador.png)
![country flag](/images/countries/indonesia.png)
![country flag](/images/countries/newzealand.png)
![country flag](/images/countries/cyprus.png)
![country flag](/images/countries/denmark.png)
![country flag](/images/countries/finland.png)
![country flag](/images/countries/poland.png)
![country flag](/images/countries/malta.png)
![country flag](/images/countries/czech.png)
![country flag](/images/countries/austria.png)
![country flag](/images/countries/sweden.png)
![country flag](/images/countries/italy.png)
![country flag](/images/countries/egypt.png)
![country flag](/images/countries/belgium.png)
![country flag](/images/countries/portugal.png)
![country flag](/images/countries/slovenia.png)
![country flag](/images/countries/ireland.png)
![country flag](/images/countries/romania.png)
![country flag](/images/countries/greece.png)
![country flag](/images/countries/argentina.png)
![country flag](/images/countries/netherlands.png)
![country flag](https://cdn.packtpub.com/flag/004da5c4-583f-4e69-a0a8-0e999f350f90_128px-Flag_of_Bulgaria.png)
![country flag](/images/countries/latvia.png)
![country flag](/images/countries/southafrica.png)
![country flag](/images/countries/malaysia.png)
![country flag](/images/countries/japan.png)
![country flag](/images/countries/slovakia.png)
![country flag](/images/countries/philippines.png)
![country flag](/images/countries/mexico.png)
![country flag](/images/countries/thailand.png)