[Kotlin] 2-2. 패키지
패키지
소스 파일은 패키지 선언으로 시작
pakage foo.bar
fun baz() {}
class Goo () {}
// ...
소스 파일의 모든 내용(클래스, 함수 등)은 선언된 패키지에 포함 / baz()의 전체 이름은 foo.bar.baz / Goo의 전체 이름은 foo.bar.Goo
패키지를 설정하지 않으면 파일의 내용은 이름이 없는 “디폴트” 패키지에 속한다
임포트
디폴트 임포트에 추가로 각 파일은 자신만의 import 디렉티브를 포함할 수 있음
- 한개의 이름을 임포트
-
import foo.Bar // 완전한 이름이 아닌 Bar로 접근 가능
- 범위(패키지, 클래스, 오브젝트)의 모든 내용에 접근 가능
import.foo.* // 'foo'의 모든 것에 접근 가능
이름 충돌이 발생하면, as 키워드로 충돌하는 대상에 다른 이름을 부여해서 모호함을 없앨 수 있다
import foo.Bar // Bar로 접근 가능
import bar.Bar as bBar // bBar로 'bar.Bar'에 접근 가능
import 키워드는 클래스뿐만 아니라 다음 선은을 임포트할 수 있다
- 최상위 함수와 프로퍼티
- 오브젝트 선언에 있는 함수와 프로퍼티
- enum상수
최상위 선언의 가시성
최상위 선언을 private로 선언한 경우, 선언된 파일에 대해 private이다