코틀린에서 패키지의 디렉터리 구조는 소스 코드를 구성하고 관리하는 중요한 측면입니다. 패키지 디렉터리 구조를 잘 설계하면 코드의 가독성을 높이고 유지보수를 용이하게 할 수 있습니다.
1. 기본 구조
코틀린 프로젝트의 디렉터리 구조는 일반적으로 다음과 같은 형태를 갖습니다.
src
|-- main
| |-- kotlin
| |-- com
| |-- example
| |-- mypackage
| |-- MyClass.kt
|-- test
|-- kotlin
|-- com
|-- example
|-- mypackage
|-- MyClassTest.kt
src/main/kotlin: 메인 소스 코드 디렉터리. 주로 애플리케이션 코드가 위치합니다.
src/test/kotlin: 테스트 소스 코드 디렉터리. 주로 테스트 코드가 위치합니다.
2. 패키지 디렉터리 구조
패키지의 디렉터리 구조는 패키지의 계층 구조를 따라야 합니다. 패키지명이 com.example.mypackage인 경우, 이에 대응하는 디렉터리 구조는 다음과 같습니다.
com
|-- example
| |-- mypackage
| |-- MyClass.kt
com/example/mypackage: com.example.mypackage 패키지에 해당하는 디렉터리 구조.
3. 패키지 내부의 파일 구조
각 패키지 디렉터리에는 해당 패키지의 코드 파일이 위치합니다. 파일명은 해당 파일에 있는 최상위 클래스 또는 최상위 함수의 이름과 일치해야 합니다. 예를 들어, MyClass.kt 파일에는 MyClass 클래스가 정의되어 있어야 합니다.
// MyClass.kt 파일 내용
package com.example.mypackage
class MyClass {
// 클래스 내용
}
4. 패키지 내부의 하위 패키지
만약 패키지 내부에 더 세분화된 하위 패키지가 있다면 해당 패키지에 대한 디렉터리도 마찬가지로 생성되어야 합니다.
예를 들어, com.example.mypackage.subpackage 패키지에 대응하는 디렉터리 구조는 다음과 같습니다.
com
|-- example
| |-- mypackage
| |-- subpackage
| |-- MySubClass.kt
5. 패키지의 접근 제한자와 파일 디렉터리
코틀린에서는 기본적으로 패키지 내의 모든 클래스와 함수에 대한 접근이 가능합니다. 하지만 Java와 같이 접근 제한자를 사용하여 외부에서의 접근을 제한할 수도 있습니다. 이때도 파일과 디렉터리 구조는 변경되지 않습니다. 따라서 파일과 디렉터리 구조는 패키지 내의 모든 코드에 대한 구조를 보여주지만, 실제로는 접근 권한을 통해 제한될 수 있습니다.
좋은 디렉터리 구조는 프로젝트의 규모와 복잡성에 따라 달라질 수 있습니다. 패키지를 어떻게 구성하느냐는 코드의 가독성과 유지보수성에 큰 영향을 미칩니다.
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 조건문 종류 (0) | 2023.12.24 |
---|---|
코틀린 임포트 디렉티브 (0) | 2023.12.23 |
코틀린 패키지 임포트 (import) (0) | 2023.12.23 |
코틀린 패키지 (0) | 2023.12.23 |
코틀린 함수 가시성 (접근제한자) (0) | 2023.12.23 |