# Kotlin access modifiers explain

**URL:** <https://discuss.kotlinlang.org/t/kotlin-access-modifiers-explain/696>\
**Category:** Uncategorized\
**Created:** [December 1, 2013, 12:20am UTC](https://discuss.kotlinlang.org/t/kotlin-access-modifiers-explain/696 "2013-12-01T00:20:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![roguepnz](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@roguepnz](https://discuss.kotlinlang.org/u/roguepnz)\
**Post date:** [December 1, 2013, 12:20am UTC](https://discuss.kotlinlang.org/t/kotlin-access-modifiers-explain/696/1 "2013-12-01T00:20:37Z")

</div>

I found no info about access modifiers in documentation. It seems like 'public' is not necessary and 'package private' acts like a public (i can call methods from another packages). Could you explain ?

---

<div class="post-metadata">

**Author:** ![abreslav](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/abreslav/32/8279_2.png) [@abreslav](https://discuss.kotlinlang.org/u/abreslav)\
**Post date:** [December 2, 2013, 8:51am UTC](https://discuss.kotlinlang.org/t/kotlin-access-modifiers-explain/696/2 "2013-12-02T08:51:51Z")

</div>

- public — visible to everybody
- internal (or no modifier) — visible to everybody inside the module
- protected — visible to subclasses
- private — visible to owner and its members

Some clarification of 'private': if you have something private in a package, subpackages can use it, but sibling/parent packages can not, since they are not members of the declaring package
