open
public
internal
fileprivate
private
open 접근 제어자는 가장 높은 수준의 접근 제어자로, 다른 모듈에서도 해당 클래스나 메서드를 서브클래싱하거나 오버라이딩할 수 있습니다. 오통 외부 라이브러리를 만들고 사용할 때 유용합니다. open으로 선언된 클래스나 메서드를 상속하거나 재정의해서 사용할 수 있기 때문이다
public 접근 제어자는 기본적으로 open과 접근 제어 정도가 같으나 다른 모듈에서 서브클래싱하거나 오버라이딩할 수는 없습니다.
internal 접근 제어자는 같은 모듈 내에서는 어디서든지 해당 요소들을 사용할 수 있다. 그러나 모듈 외부에서는 사용할 수 없다.
filepravate 접근 제어자는 같은 파일 내에서만 해당 요소들을 사용할 수 있습니다.
private 접근 제어자는 해당 요소가 선언된 블록 내에서만 사용 할 수 있다.
와 정성이 가득한 글!!!! 너무 좋네요!!!!!