개발새발/코틀린

[Kotlin] Kotlin, JAVA랑 무엇이 다를까?

조희우 2023. 9. 6. 17:37

🔷코틀린?

    JetBrain 사에서 개발한 함수형 프로그래밍 언어

    람다식을 주로 사용

    Java와 100% 호환

    프로젝트 구조가 복잡함

        소프트웨어 모델링 사용

        유지보수 편리함

        팀 프로젝트 관리에 용이


    * IDE (Integrated Development Environment)  /  통합 개발 환경 

    * JRE (Java Runtime Environment) / 자바 실행 환경

    * AVD (Android Virtual Device) / 안드로이드 가상 기기

    * 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

       잘못된 타입을 지정하는 문제가 생기지 않는다.

    상호 연계 프로그램을 일컫는 말이다.
    백그라운드 처리를 위한 스레드를 경량화한 것이다.