기록

[코틀린/Kotlin] 기본 프로젝트 구조 본문

[Study]/Kotlin

[코틀린/Kotlin] 기본 프로젝트 구조

Dannnnnn 2022. 5. 6. 19:50
반응형

1. 프로젝트

코틀린으로 어플리케이션을 짤 때 관련한 모든 내용을 담는 '큰 틀'

2. 모듈

하나의 프로젝트는 여러개의 모듈로 이뤄질 수 있다.

모듈은 직접 만들 수도 있고, 필요한 기능을 이미 구현해 둔 '라이브러리 모듈'을 가져와 붙일 수 있다.

3. 모듈 안

하나의 프로젝트는 여러개의 모듈로 이뤄질 수 있다.

모듈은 직접 만들 수도 있고, 필요한 기능을 이미 구현해 둔 '라

모듈 안에는 다수의 폴더와 파일이 들어갈 수 있다.코틀린 코드파일(.kt) 뿐만 아니라 모듈과 관련된 설정 및 리소스 파일 등도 포함될 수 있다.

4. 패키지

위의 프로젝트, 모듈, 폴더 및 파일이 실제 파일 시스템에 기반한 물리적인 구조를 담당한다면 논리적인 구조로는 패키지가 있다.

 

패키지는 개발시에 소스 코드의 '소속'을 지정하기 위한 논리적 단위이다.

 

대부분 패키지 이름은 개발한 회사가 가진 도메인을 거꾸로 배열하고, 프로젝트 이름을 붙인 후, 기능별로 세분화하는 방식으로 짓는다.

com.youtube.dimo

com.youtube.dimo.base

com.youtube.dimo.talk

 

코드 파일을 패키지에 넣는 방법은 코드 파일 맨 윗줄에  pakage를 적고 패키지의 이름을 써주면 된다.

패키지를 명시하지 않으면 자동으로 default 패키지로 묶이게 된다.

 

package com.youtube.dimo

fun main() {    
    println("프로젝트 구조는 재밌어")
}

 

코틀린은 자바와 달리 폴더 구조와 패키지명을 일치시키지 않아도 된다. (상단에 이름만 써주면 컴파일러가 알아서 처리)

 

같은 패키지 내에서는 변수, 함수, 클래스를 공유할 수 있다.

패키지가 다르면 import 작업을 통해 가져와야 한다.

 

패키지 선언 바로 아래 import를 쓰고 사용할 외부 패키지 이름을 써주면 다른 패키지의 변수, 함수, 클래스를 사용할 수 있다.

 

package com.youtube.dimo

import package com.youtube.dimo.base

fun main() {    
    println("프로젝트 구조는 재밌어")
}

 

코틀린은 클래스명과 파일명이 일치하지 않아도 되며, 하나의 파일에 여러개의 클래스를 넣어도 컴파일이 가능하다.

(이는 파일이나 폴더를 기준으로 구분하지 않고 파일 내에 있는 패키지를 기준으로 구분하기 때문이다.) 

 

 

https://www.youtube.com/watch?v=q7GV68jKLVM&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=12

위 강의를 보면서 개인적으로 공부한 내용을 정리하였습니다.

반응형