private으로 만드는 코드는 굉장히 많이 사용된다.class CounterSet<T>(
private val innerSet: MutableSet<T> = setOf()
) : MutableSet<T> by innerSet {
var elementsAdded: Int = 0
private set
// ...
}
public(디폴트): 어디에서나 볼 수 있다.private: 클래스 내부에서만 볼 수 있다.protected: 클래스와 서브 클래스 내부에서만 볼 수 있다.internal: 모듈 내부에서만 볼 수 있다.public, private, internal