internal 변경자(Modifier)의 의의internal 변경자는 코틀린에서 클래스 혹은 함수에 모듈 수준의 가시성을 설정하기 위해 사용하는 변경자이다. 모듈 수준의 가시성이란 모듈 내에서는 public처럼 어디에서나 접근 가능하지만, 모듈 외부에서 접근하지 못하는 변경자이다. internal을 설정해야 하는 경우는 다양하다. 모듈 내부에서만 사용하는 함수에 internal을 설정해 외부에서 접근하지 못하도록 만드는 경우가 일반적이며, 외부에는 인터페이스만 공개하고 모듈 내부에서 인터페이스의 구현체(클래스)를 만들어 사용하는 경우에 유용하다. internal 변경자 사용 예시대표적으로 우리가 사용하는 젯브레인사에서 개발한 코루틴 라이브러리의 경우 Mutex 인터페이스의 구현체인 MutexImpl을 ..