[kotlin] 코틀린 패키지와 모듈의 관련된 주요 키워드 이해하기

코틀린은 자바와 호환되는 프로그래밍 언어로, 자바 개발자들에게 친숙한 패키지와 모듈 개념을 가지고 있습니다. 이번 포스트에서는 코틀린에서 사용되는 패키지와 모듈에 관련된 주요 키워드를 살펴보겠습니다.

패키지 (Package)

코틀린에서 패키지는 관련된 클래스, 객체 및 인터페이스들을 그룹화하는 데 사용됩니다. 패키지는 계층 구조로 이루어져 있으며 점으로 구분됩니다. 예를 들어, com.example.app 패키지는 com 패키지의 하위 패키지로서 example 패키지를 포함하고, example 패키지는 app 패키지를 포함합니다.

패키지는 파일 시스템의 디렉토리 구조와 일치하는 관행에 따라 구성됩니다. 예를 들어, com.example.app 패키지의 클래스들은 com/example/app 디렉토리에 위치해야 합니다.

모듈 (Module)

코틀린에서 모듈은 코드, 라이브러리, 리소스 등을 포함하는 독립된 단위입니다. 모듈은 개별적으로 컴파일되며 독립적으로 배포할 수 있습니다.

각 모듈은 고유한 이름을 가지며, 해당 모듈 내에서만 고유한 식별자를 가집니다. 모듈은 여러 패키지로 구성될 수 있으며, 모듈 간에 패키지를 공유할 수도 있습니다.

모듈은 Maven, Gradle과 같은 빌드 시스템을 사용하여 구성되며, 의존성 관리 및 빌드 설정을 지원합니다.

import 키워드

import 키워드는 다른 패키지에서 클래스, 객체 또는 함수 등을 사용할 때 사용됩니다. import 키워드를 사용하면 패키지 이름을 생략하고 직접 사용할 수 있습니다.

import com.example.app.MyClass

fun main() {
    val myClass = MyClass()
    myClass.doSomething()
}

위의 예시에서 MyClasscom.example.app 패키지에 속해 있는 클래스입니다. import com.example.app.MyClass 구문을 사용하여 MyClass를 직접 사용할 수 있습니다.

companion object

companion object는 클래스의 정적 메소드와 속성을 정의하는 데 사용됩니다. 즉, 인스턴스를 생성하지 않고도 클래스의 멤버에 접근할 수 있습니다.

class MyClass {
    companion object {
        fun doSomething() {
            // do something
        }
    }
}

fun main() {
    MyClass.doSomething()
}

companion object 안에 정의된 doSomething 메소드는 인스턴스 생성 없이 직접 호출할 수 있습니다.

결론

패키지와 모듈은 코틀린에서 코드의 구조화와 모듈화에 중요한 역할을 합니다. 이번 포스트에서는 코틀린에서 패키지와 모듈의 주요 키워드를 살펴보았습니다. 이러한 개념을 잘 이해하고 사용한다면 코틀린 개발에서 코드의 구조화와 모듈화를 더욱 효율적으로 수행할 수 있습니다.

참고 자료