코틀린 (Kotlin) 패키지 정리

코틀린 패키지

코틀린의 패키지 구조는 자바와 비슷합니다.
자바와 동일하게 import 로 가져올 수 있으며 클래스와 함수까지 임포트가 가능합니다.

코틀린도 package 로 패키지 경로를 선언합니다.
그리고 클래스 없이 패키지 레벨의 함수도 선언할 수 있습니다.

package com.zerogdev.mykotlin.basic.other

/**
 * 패키지 레벨 함수
 */
fun createRandomRectangle() : Rectangle {
    val random = Random()
    return Rectangle(random.nextInt(), random.nextInt())
}

class Test1 {

}

class Test2 {

}

아래 코드는 createRandomRectangle() 의 함수를 임포트했습니다.
그리고 Test1, Test2 클래스를 임포트했습니다.
각 패키지별 클래스와 함수를 따로 임포트되지만, * 을 사용해서 해당 파일 모두를 임포트 할 수 있습니다.

package com.zerogdev.mykotlin.basic

import com.zerogdev.mykotlin.basic.other.createRandomRectangle
import com.zerogdev.mykotlin.basic.other.Test1
import com.zerogdev.mykotlin.basic.other.Test2

import com.zerogdev.mykotlin.basic.other.* //* 사용가능

fun onCreate(savedInstanceState: Bundle?) {
    //createRandomRectangle()는 다른 패키지에 있는 함수
    createRandomRectangle().isSquare

    val testClass1 = Test1()
    val testClass2 = Test2()
}

코틀린에서는 자바의 패키지 구조뿐만아니라 어느 디렉터리에 소스코드 파일을 위치하든 관계가 없습니다.
원하는 곳에 개발자 마음데로 위치할 수 있습니다.
그러나 자바와 코틀린을 혼용해서 사용하는 경우에는 자바의 패키지구조와 맞추는 것을 권장합니다.

그리고 코틀린은 클래스 코드 크기가 작은 경우가 많은데 이런 경우에는 여러 클래스를 한개 파일에 넣는 것을 권장합니다.

댓글

  1. Harrah's Reno casino opens at 50% capacity
    Harrah's Reno Hotel 광주광역 출장마사지 and Casino 서산 출장샵 on the Reno-Tahoe-Quarro-Casino-resort-by-nj.com. 화성 출장샵 · 1.1 진주 출장샵 million square foot casino. · 2.2 million 정읍 출장안마 slot

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

코틀린 (Kotlin) filter, map, all, any, count, find, groupBy, flatMap 함수 정리

코틀린 (Kotlin) 인터페이스 정리

RecyclerView 에서 notifyItemChanged()의 payload 이해하기