Coding Log

009. Package와 Import

2018.01.03 12:32 - NamhoonKim NE_Leader


Kotlin

본 카테고리는 2017년 Android 공식 언어로 채택된 Kotlin에 관하여 다룬다.

Kotlin을 이용해 개발하는 Android는 추후 따로 다루기로 하고 언어 자체에만 집중한다.

참고 kotlin 공식 사이트

Package와 Import

Packages

Kotlin 소스 파일은 package의 선언으로 시작할 수 있다.

아래의 코드를 보자.

package foo.bar

fun baz() {}

class Goo {}

// ...

클래스와 함수와 같은 소스 파일에 속한 모든 Kotlin 코드는 최상위에 선언된 package에 포함된다.

따라서 위의 예제 코드에서 baz() 함수의 전체 이름은 package를 포함한 foo.boo.baz가 된다.

마찬가지로 Goo 클래스의 전체 이름은 foo.goo.Goo가 된다.

만약 소스 코드의 최상위에 패키지가 지정되지 않은 경우엔 모든 파일의 내용은 Default 패키지에 포함된다.

Default imports

기본적으로 Kotlin 소스 파일은 여러 패키지들을 포함하게 된다.

그 목록은 아래와 같다.

Kotlin이 동작하는 환경에 따라 추가적으로 아래 패키지를 더 추가한다.

Imports

상술한 Default Import 대상이 아닌 패키지가 아니어도 개발자가 원하는 패키지를 가져올 수 있다.

참고 import에 대한 구문은 Kotlin Grammar Document를 참고하면 된다.

접근하고자 하는 패키지명을 직접 적용하는 경우는 아래와 같다.

import foo.Bar // Bar is now accessible without qualification

혹은 와일드카드(*)를 통해 패키지의 범위를 지정해서 패키지 내 모든 패키지, 클래스, 객체등을 접근할 수 있게 처리한다.

import foo.* // everything in 'foo' becomes accessible

만약 패키지명이 겹치는 경우 as 키워드를 사용하여 로컬화 시킬 수 있다.

import foo.Bar // Bar is accessible
import bar.Bar as bBar // bBar stands for 'bar.Bar'

위의 예시들과 같이 import 키워드는 클래스를 가져오는 역할 뿐만 아니라 다른 곳에 선언된 것을 가져올 수 도 있다.

  • 최상위 함수 및 속성
  • object로 선언된 함수 및 속성값
  • 열거형 상수들

Kotlin은 import로 모든 선언을 불러올 수 있기 때문에 Java에서 지원하는 import static 구문을 지원하지 않는다.

최상위 선언의 가시성(Visibility of Top-level Declarations)

만약 최상위 선언이 private로 되어있다면 해당 선언이 있는 파일에 대해 private으로 적용된다.

DISQUS 로드 중…
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다