> I think in Java this would be a "protected" method

Agreed. It's fair game for subclasses to access and override but is not part of the public API.

If we really want to start opening cans of worms, then the issue here is whether/how to distinguish "protected" from "private", and whether "protected" warrants testing.