I do agree to a certain degree, but with getters/setters you could properly hide/set to read-only fields.