you contradicted yourself. preventing people from messing with the internals means they do not have to be aware of any hidden fields that are stored in the parent class. if they cannot mess with the internals, they do not need to be aware. it is not worrying about something that you are not able to do.

anyone who designs an api, they may set expectations. if the designer wishes you not to muck around with internals, that is his choice. he can promote that if he pleases. mistyping may not be a minor issue for some. typos create all kinds of bugs.

timtowtdi. appreciate all aspects of what people do and the reasons they do it. there are more opinions than facts in programming and software engineering.