# Self Types

**URL:** <https://discuss.kotlinlang.org/t/self-types/371>\
**Category:** Language Design\
**Created:** [December 18, 2014, 11:19pm UTC](https://discuss.kotlinlang.org/t/self-types/371 "2014-12-18T23:19:30Z")\
**Posts on this page:** 1\
**Showing post:** 61

<div class="post-metadata">

**Author:** ![pdvrieze](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/pdvrieze/32/1882_2.png) [@pdvrieze](https://discuss.kotlinlang.org/u/pdvrieze)\
**Post date:** [March 6, 2020, 9:06am UTC](https://discuss.kotlinlang.org/t/self-types/371/61 "2020-03-06T09:06:38Z")

</div>

Those properties/methods can be internal or protected. Of course a naming convention and/or `OptIn` can also help. But the technique at least solves the problem from the consumer point of view although we don’t get the nice compile-time checking.

---

_[View the full topic](https://discuss.kotlinlang.org/t/self-types/371)._
