🔷코틀린?
JetBrain 사에서 개발한 함수형 프로그래밍 언어
🔹코틀린의 특징
람다식을 주로 사용
Java와 100% 호환
프로젝트 구조가 복잡함
소프트웨어 모델링 사용
유지보수 편리함
팀 프로젝트 관리에 용이
🔷 개발 환경
🔹IDE* : Android Studio
* IDE (Integrated Development Environment) / 통합 개발 환경
🔹JRE* 환경 필요
* JRE (Java Runtime Environment) / 자바 실행 환경
🔹AVD* Emulator 혹은 Android OS가 탑재된 기기 필요
* AVD (Android Virtual Device) / 안드로이드 가상 기기
🔹HAXM* 필수
* HAXM (Hardware Accelerated Execution Manager) / AVD 실행을 위한 도구 (CPU Accelator)
🔷자바와 코틀린 차이점
|
JAVA |
Kotlin |
프로그래밍 |
객체지향 |
객체지향 (함수형) |
타입 |
정적 타입 |
정적 타입 |
로직 위치 |
클래스 내부 |
제한 없음 |
멀티 플랫폼 |
O |
O |
객체지향 (OOP) |
O |
O |
스마트 캐스트 |
X |
O |
타입 추론 |
X |
O |
널 안전성 |
X |
O |
예외처리 |
O |
X |
🔷코틀린의 특징
🔹 젯팩
젯팩은 파편화되어 버전들에서 일관되게 동작하는 라이브러리 모음이다.
각 버전, 기기별 코드를 해결한다.
1. 젯팩의 장점
하위 버전 호환성
이전 버전과의 호환성 기능 통합으로 비정상 종료와 메모리 누수를 줄임
반복되는 코드 제거
백그라운드 작업, 수명 주기 관리 등을 제거
낮은 복잡도
모든 버전 및 기기에서 일관된 동작으로 코드 복잡도 낮음
2. 젯팩 라이브러리
약 90개의 라이브러리 제공
컬렉션
컨스트레인트 레이아웃
프래그먼트
리사이클러뷰
🔹 뷰 바인딩
뷰 요소를 불러오기 위하여 사용한다.
각 xml에 ViewBinding 클래스를 상속받은 개별 뷰 바인딩 클래스가 생성된다.
뷰 바인딩으로 지정된 xml 레이아웃에서 설정된 id만 사용한다.
1. 뷰 바인딩의 장점
Null-safe
다른 layout의 같은 ID를 가진 뷰를 구분할 수 있다.
Kotlin extension 방식에서 생기는 아이디 충돌 문제가 없다.
Type-safe
잘못된 타입을 지정하는 문제가 생기지 않는다.
🔹 코루틴
상호 연계 프로그램을 일컫는 말이다.
백그라운드 처리를 위한 스레드를 경량화한 것이다.