Public/Protected/Private: A Redundant OOP Feature?
This article challenges the necessity of access modifiers (public, protected, private) in object-oriented programming. The author argues that interfaces and inheritance combined can achieve the same functionality without the need for an extra mechanism. The existence of access modifiers might stem from an oversight in the design of Simula, leading to redundant functionality. For cleaner code, the author suggests avoiding access modifiers and advocates for composition over inheritance.
Read more