User Answers

1) The reasons for using both together are purely based on your application's need and design. Some design patterns specify desired visibility of methods for example.