Getter and setter policy
Having getters and setters is bad as they increase coupling. However if you need to implement them apply the following guides.
An object’s data should be encapsulated within itself (protected variables are the closest you will get to achieving this in most languages). Getter and setter methods should be produced for any variable you may consider you have a legitimate reason to declare public. Classes should ideally call their own getters and setters when accessing their internal data. This prevents the object getting into an invalid state. Getters should never return a direct reference to an element contained within the object. Returning a reference in this manner may allow the element to be updated without calling the relevant setter.
Generally, if you have too many getters and setters, you should have a closer look at your design to make sure you Keep related data and behavior in one place.