title: What are the practical difference between declaring a function private vs public?
body: <p>So as I've been reading/learning about classes and the methods within them I've found very little about the practical differences between declaring a method as public versus private. </p>
  
  <p>I know that the difference is a private class can only be accessed within the class, while a public method can be accessed from code outside the class (other classes, functions). But what I really want to know is:</p>
  
  <ul>
  <li>Why would you want/not want to declare it one way or another when deploying an application? </li>
  <li>Are there best practices that can guide whether to declare a method public vs private?</li>
  </ul>
  
  <p>Also, I don't know if it matters, but I am learning primarily VB.Net and C# in a web application environment, so specifics to that would help.</p>