I think you cannot completely hide methods from the user. The only thing you can do is provide only the necessary information to a specific user. In one of my applications, I implemented this using the Decorate Design Pattern. I will try to explain this.
, -. 2 - ( UserAccess). -.
, CommonA, 1 ~ 10. - , ForUserA 1 2, 1 2 CommonA. .
, - .