title: Swift 3: The difference between Public and Internal access modifiers?
body: <p>I read the Apple's reference about access modifiers in Swift 3. I read also about the same on stackoverflow but I didn't get an answer as the person who asked. As I understood correctly, there are four levels:</p>
  
  <ol>
  <li>Open, Public</li>
  <li>Internal</li>
  <li>Fileprivate</li>
  <li>Private</li>
  </ol>
  
  <p>I created the schemes for myself to understand a difference between all these modifiers and uploaded <a href="https://i.stack.imgur.com/jm9SC.png" rel="noreferrer">here</a>. As you can see, there are no differences between Public and Internal modifiers.. However they're on different levels. Any idea would be appreciated!</p>