티스토리 뷰
😶🌫️ 파일 시스템에 기반한 물리적인 구조
- 프로젝트: Kotlin으로 어플리케이션을 만들 때 관련된 모든 내용을 담는 큰 틀이다.
- 모듈: 하나의 프로젝트는 여러 개의 모듈로 이뤄질 수 있다.
- 모듈은 직접 만들거나 필요한 기능을 미리 구현해 둔 라이브러리 모듈을 갖고와 붙일 수도 있다.
- 모듈안에는 다수의 폴더와 파일이 들어 갈 수 있다.
- 파일 및 폴더: 여기에는 Kotlin 파일 뿐만 아니라 모듈과 관련된 설정 및 리소스 파일도 들어 갈 수 있다.
😶🌫️ 코틀린의 논리적인 구조: 패키지
- 패키지: 개발시 소스 코드의 소속을 정하기 위한 논리적인 단위이다.
- 코드를 작성할 때는 코드 내에서 사용하는 이름이 용도에 따라 서로 충돌하지 않도록 유니크한 패키지 이름을 지어주는 것이 좋다.
- 일반적으로 패키지 이름을 지을 때는 개발한 회사가 갖고 있는 도메인을 거꾸로 하고 그 뒤에 프로젝트 명을 지은 후 기능별로 세분화하여 짓는다.
- 그럼 코드 파일을 어떻게 패키지 명으로 묶을 수 있을까?
- 코드 파일을 패키지에 넣는 방법은 코드 파일 맨 윗줄에 package를 적고 패키지 이름을 써주면 된다.
- 패키지를 명시하지 않으면 자동으로 default 패키지에 묶이게 되는 것도 알아두자.
😶🌫️ Java와 차이점
- Java의 경우 폴더 명과 패키지 명을 일치시켜야 하는 반면 Kotlin은 그렇지 않아도 코드를 작성할 수 있다.
- 단순히 코틀린 파일 상단에 패키지 명만 일치시키면 된다.(컴파일러가 알아서 처리해줌) 그렇기 때문에 같은 패키지 내에서는 변수, 함수, 클래스를 공유할 수 있는데, 패키지가 다르면 그냥 쓸수는 없다.
- 해당 패키지를 쓰기 위해서는 import를 해야한다. 코드 파일에서 package 바로 밑에 import를 해주면 되는데 사용할 외부 패키지 이름을 써주면 외부 패키지의 변수나 함수, 클래스를 그대로 사용할 수 있다.
- 이때 패키지명 중에서 중복되는 것이 있다면, 중복 부분을 포함한 full name을 package에 명시해야 한다.
- Kotlin의 경우 파일명과 클래스 명이 일치하지 않아도 된다. 또한 하나의 파일에 여러 개의 클래스를 작성해도 알아서 컴파일이 가능하다.
- 이는 파일이나 폴더를 기준으로 구분하지 않고 파일내에 있는 패키지 키워드로 구분하기 때문이다.
'Android > Kotlin' 카테고리의 다른 글
[Kotlin] 클래스의 다형성 (0) | 2021.12.07 |
---|---|
[kotlin] 변수, 함수, 클래스의 접근범위와 접근제한자 (0) | 2021.12.06 |
[Kotlin] 오버라이딩과 추상화 (0) | 2021.12.06 |
[Kotlin] 상속 (0) | 2021.12.05 |
[Kotlin] 클래스의 생성자 (0) | 2021.12.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 카카오
- 프로그래머스
- 코틀린
- 알고리즘
- 앱개발
- 비전공싸피합격
- 기본생성자
- Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
- Java
- 프로젝트구조
- DP
- 일반파라미터
- 백준
- 싸피5기
- kotlin문법
- 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
- Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
- Class
- 비전공개발자
- Kotlin
- 구간 합 구하기 4
- 생성자
- Python
- 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
- 안드로이드
- 참조연산자
- 보조생성자
- 중첩클래스와 내부클래스
- 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
- 추가합격후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함