새소식

공부/안드로이드

안드로이드 JAVA, Kotlin

  • -

안드로이드 JAVA, Kotlin


Java 

Java는 1995년 Sun Microsystems(현재 Oracle Corporation 소유)에서 처음 출시한 범용 클래스 기반 객체 지향 프로그래밍 언어다. 개발자가 JVM(Java Virtual Machine)이 있는 모든 장치에서 실행할 수 있는 코드를 작성할 수 있도록 네트워크 컴퓨팅에 사용할 수 있는 언어를 만드는 것을 목표로 설계되었다.

Java는 객체 지향 프로그래밍 언어로 객체와 클래스의 개념을 기반으로 한다. Java는 객체 지향 프로그래밍의 기본 개념인 상속, 다형성 및 캡슐화도 지원한다.

 

자바의 특징

  • 플랫폼 독립성 : Java 코드는 JVM이 있는 모든 장치에서 실행될 수 있으므로 플랫폼 간 호환성이 좋다.
  • 메모리 관리 : Java에는 메모리 관리 기능이 내장되어 있어 개발자가 메모리를 보다 쉽게 ​​관리하고 메모리 누수 위험을 줄일 수 있다.
  • 객체 지향 프로그래밍 : Java는 객체 지향 프로그래밍 개념을 지원하므로 개발자가 모듈식 및 재사용 가능한 코드를 더 쉽게 작성할 수 있다.
  • 보안 : Java에는 악성 코드가 시스템을 손상시키는 것을 방지하는 데 도움이 되는 Java 보안 관리자와 같은 보안 기능이 내장되어 있다.
  • 자동 메모리 관리 : Java는 자동 가비지 수집을 사용하여 참조되지 않은 개체를 자동으로 제거하여 메모리를 확보하고 메모리 누수 위험이 적다.
  • 이식성 : Java 코드는 JVM이 있는 모든 장치에서 실행될 수 있어야 하므로 플랫폼 독립적이다.

자바의 동작

Java는 코드가 사전에 기계 코드로 컴파일되지 않고 런타임에 JVM에 의해 실행된다. 이를 통해 코드를 즉시 실행하고 테스트할 수 있으므로 더 빠른 개발 및 테스트는 물론 더 쉬운 디버깅이 가능하다. Java는 또한 JIT(Just-In-Time) 컴파일러를 사용하여 런타임에 자주 사용되는 코드를 기계어 코드로 컴파일하여 성능을 향상시킨다.


Kotlin

Kotlin은 Java와 완벽하게 상호 운용 가능한 교차 플랫폼, 정적 유형, 범용 프로그래밍 언어다. 2011년 JetBrains에서 처음 출시했으며 이후 Android 앱, 서버측 애플리케이션 및 기타 유형의 소프트웨어 개발에 널리 사용되었다.

Kotlin은 더 현대적인 구문과 더 쉽게 코드를 작성하고 유지 관리할 수 있는 다양한 기능을 통해 Java에 대한 더 간결하고 표현력이 풍부한 대안이 되도록 설계되었다.

 

Kotlin의 주요 특징

  • Null 안전성 : Kotlin에는 null 안전성이 내장되어 있어 null 포인터 예외를 쉽게 방지하고 충돌 위험을 줄일 수 있다.
  • 확장 기능 : Kotlin을 사용하면 개발자가 기존 클래스의 기능을 확장하여 새로운 기능을 추가하고 코드를 재사용하기가 더 쉬워진다.
  • lambda 기능 지원 : Kotlin은 람다를 지원하므로 기능적이고 반응적인 코드를 더 쉽게 작성할 수 있다.
  • coroutine 기능 지원 : Kotlin은 비동기 프로그래밍에 사용할 수 있는 경량 스레드인 코루틴을 기본적으로 지원한다.

Kotlin은 Java와 완벽하게 상호 운용된다. 즉, 동일한 프로젝트에서 Java와 Kotlin 코드를 같이 혼용하여 사용 할 수 있다. 이를 통해 Java 개발자는 기존 코드를 다시 작성할 필요 없이 새로운 언어로 점진적으로 전환할 수 있으므로 Kotlin을 더 쉽게 접근 할 수 있다.


안드로이드가 Kotlin을 채택한 이유

Kotlin VS Java 출처 - 출처

  1. 간결하고 표현력이 풍부한 구문 : Kotlin은 Java보다 더 현대적인 구문을 사용하므로 코드를 더 쉽게 작성하고 유지 관리할 수 있다. 또한 작성해야 하는 상용구 코드의 양을 줄이는 형식 유추와 같은 기능도 있다.
  2. Null 안전성 : Kotlin에는 null 안전 기능이 내장되어 있어 null 포인터 예외 및 충돌 위험이 적다. 이렇게 하면 보다 안전하고 강력한 코드를 작성하기가 쉬워지고 버그와 문제가 줄어들 수 있다.
  3. Java와의 상호 운용성 : Kotlin은 Java와 완전히 상호 운용 가능하다. 즉, 동일한 프로젝트에서 Java와 Kotlin 코드를 혼합하고 일치시킬 수 있다. 이를 통해 Java 개발자는 Kotlin을 더 쉽게 채택하고 프로젝트는 Java에서 Kotlin으로 점진적으로 전환할 수 있다.
  4. 향상된 성능 : Kotlin은 특히 메모리 할당 및 가비지 수집과 관련하여 Java에 비해 성능이 향상되었다. 이로 인해 특히 리소스 집약적인 애플리케이션의 경우 더 빠르고 효율적인 코드가 생성될 수 있다.
  5. 최신 기능 : Kotlin에는 람다 및 코루틴과 같은 다양한 최신 기능이 있어 기능적이고 반응적인 코드를 더 쉽게 작성할 수 있다. 이렇게 하면 코드의 전반적인 품질과 유지 관리 용이성이 향상될 수 있다.

Kotlin은 Java보다 더 간결하고 표현력이 뛰어나도록 설계된 최신 프로그래밍 언어로, 코드를 더 쉽게 작성하고 유지 관리할 수 있는 다양한 기능을 갖추고 있다.


'공부 > 안드로이드' 카테고리의 다른 글

안드로이드가 부팅 될 때 동작 순서  (0) 2023.03.17
JVM이란?  (0) 2023.03.09
Decompile이란?  (0) 2023.03.09
NDK와 JNI란?  (0) 2023.03.09
안드로이드의 개념과 4대 구성 요소  (0) 2023.03.09
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.