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