[Kotlin] Kotlin, JAVA랑 무엇이 다를까?
🔷코틀린?
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 |
🔷코틀린의 특징
🔹 젯팩
젯팩은 파편화되어 버전들에서 일관되게 동작하는 라이브러리 모음이다.
각 버전, 기기별 코드를 해결한다.
반복되는 코드 제거
백그라운드 작업, 수명 주기 관리 등을 제거
낮은 복잡도
모든 버전 및 기기에서 일관된 동작으로 코드 복잡도 낮음
약 90개의 라이브러리 제공
컬렉션
컨스트레인트 레이아웃
프래그먼트
리사이클러뷰
🔹 뷰 바인딩
뷰 요소를 불러오기 위하여 사용한다.
각 xml에 ViewBinding 클래스를 상속받은 개별 뷰 바인딩 클래스가 생성된다.
뷰 바인딩으로 지정된 xml 레이아웃에서 설정된 id만 사용한다.
다른 layout의 같은 ID를 가진 뷰를 구분할 수 있다.
Kotlin extension 방식에서 생기는 아이디 충돌 문제가 없다.
Type-safe
잘못된 타입을 지정하는 문제가 생기지 않는다.
🔹 코루틴
상호 연계 프로그램을 일컫는 말이다.
백그라운드 처리를 위한 스레드를 경량화한 것이다.