At some point I mentioned how strongly some people seem to feel that protected is anything but, and it opens pandora's box, especially for data.
I mentioned how in C# you can specify private protected meaning that only sub-classes in the same package (well, assembly) can access these, and how that is relatively well-controlled, so some people are more calm about that.
In
Java and C++ there is no such ability, and a pretty good write up of why that is likely to become a workplace safety hazard is at:
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c133-avoid-protected-data