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 unders
Internal - This is default access specifier in swift. With this we can access data members and member functions in the same module (target).
Public - This is where you can access all data members and member functions within same module and outside of it. But you can't subclass or override outside the module.
Open - same as public, only difference is you can subclass or override outside the module.
Fileprivate - As the name say's, data members and member functions are accessible within the same file.
Private - This is where you can have access within the scope of function body or class.