You don't make members public for a reason. Even if those members can be freely set or got. You provide dummy public setters and getters. For EXACTLY THE SAME REASON you should NOT make members protected. Instead, you should provide protected setters and getters. The symmetry is very strong.