In the parent class we introduce protected data if subclass inherits these data.
Yes, data must be private in both cases.
It makes no difference for parent and subclasses if we keep data private.