What is the "killer feature" of OOP?

by Christopher   Last Updated July 20, 2018 22:05 PM

I don't have much experience working with OOP, so I'm trying to understand what is the feature (or features) that would give you a great motive not to write some program in a procedural language, but rather write it in an OOP language instead.

I have thought of the following features of OOP and their impact:

  • Doing obj.func() instead of func(obj) doesn't seem that important.
  • Making variables private also doesn't seem that important (I find it hard to mistakenly access variables that you know you shouldn't access if for example you named them something like str_name_private).
  • Inheritance I think is just about not having duplicate code, so it also doesn't seem that important.
  • The only feature that I think is important is Polymorphism.

Is my assumption correct that Polymorphism can be thought of as the "killer feature" of OOP?

Related Questions

better candidate search software than boolean

Updated October 29, 2017 18:05 PM

Programming Methodology

Updated March 27, 2015 09:01 AM

Do objects in OOP have to represent an entity?

Updated July 08, 2015 13:02 PM

Question on object initialization

Updated October 09, 2018 09:05 AM