with protected/public members of a class you expose the inner structure. You can not change it without taking care of any usage. So someone invented the accessors getter/setter. With the interface of these accessor, you can change what you want, without the need to change all code using this class.

http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

With this in mind you can design well maintaineable software systems.