728x90
반응형
01.자바란?
- 가장 오래된 객체 지향 언어 중 하나
- 주로 개방형 휴대폰 동맹(Open Handset Alliance)이 자바로 안드로이드 OS 사용자 인터페이스를 구성
- 대다수 서버와 기기, 운영체제가 자바를 지원
- 자바프로그래밍 코드를 바이트코드로 압축할때,
- 자바가상머신으로 실행됨
- 자바의 일부 구문은 C++, C등과 비슷하지만, 종합적인 하위 수준 프로그래밍 요소를 제공 할 수 없음
- 현재는 스포티파이와 캐쉬 앱 , 시그널 등 인기 앱 제작에 사용
02.코틀린이란?
- 트렌딩 오픈소스 언어
- 기본적으로 통합 개발 환경을 지원, 자바 가상머신을 위한 정적 언어
- 자바보다 더 단순하면서 깔끔하고, 압축속도가 빠른 기능과 객체 지향 언어를 혼합
- 그러나 바이트코드로 코드를 압축한 뒤 자바 가상머신에서 실행할 수 있어서, 대다수 기기와 플랫폼에서 작동할 수 있음
- 현재 트렐로, 트위터, 넷플릭스 등 테크 업계의 유명 대기업이 코틀린을 활용
03.기능 확장면을 고려한다면?
- 기능확장을 고려한다면 코틀린이 좋음
- 코틀린을 사용하면, 함수 이름에 글래스 명칭의 접두사를 추가하면서 기존 수준에서 기능을 손쉽게 확장할 수 있음
- 자바는 확장함수를 지원하지 않음, 기존 클래스에서 기능을 확장할 수 있으나 처리 시작이 오래 걸리므로 부적절함
04.코드양과 코딩 속도
- 같은 프로그램이라고 생각하면 자바의 코드양보다 코틀린의 양이 훨씬 더 적음
- 코틀린은 코드 오류를 최소화하여 개발자의 노력을 단순화함
- 실제로 실무에서도 간결성 때문에 자바보다 코틀린을 주로 채택함
- 하지만 자바와 코틀린 모두 코딩 속도 자체는 비슷
- 코틀린은 코드 작성자가 더 적은 코드를 입력하도록 함
- 그러나 작업 솔루션에 도달하려면 코틀린을 작업하는 데 더 오랜 시간이 걸림
- 반대로 자바는 많은 코드를 입력해야하지만
- 코틀린보다는 더 빠르고 쉽게 솔루션을 찾을 수 있음
05.프로그램 성능
- 코틀린은 개발자의 수월한 작업에 도움을 줄 추가 기능을 제공
- 주로 멀티 쓰레드 앱 생성에는 코틀린을 선호
- 그러나 코틀린을 기반으로 압축할 때, 자바보다 속도가 느리다는 문제가 발생
- 사실, 두 언어 간 압축 시간 차이는 그렇게 크지 않은편
- 그러나 코틀린을 기반으로 압축할 때, 자바보다 속도가 느리다는 문제가 발생
- 프로그래밍 언어가 자바 가상머신에서 실행되기 전, 바이트코드로 변환됨
- 전반적인 성능 측면에서 자바와 코틀린 모두 유사
- 주로 멀티 쓰레드 앱 생성에는 코틀린을 선호
06.동시 실행 지원
- 안드로이드에서는 오래 실행되는 작업이 주요 스레드를 막을 수 있음
- 이때문에 앱이 중단되거나 제대로 응답하지 않는 문제가 발생할 수도 있음
- 이문제를 극복하고자 개발자가 동시 실행 패턴을 설계함
- 코틀린은 동시 실행을 이용해 코드 실행을 일시 중지하고 나중에 다시 시작
- 여러 개의 스레드를 작성하지 않고 한 쓰레드에서 여러 가지 작업을 실행하도록 하며, 앱 코드 자체를 더 간결하게 작성함
- 반면, 자바는 동시 실행을 지원하지 않음
- 안드로이드 앱에서 긴 작업을 처리할 때, 자바를 사용하면, 여러 쓰레드를 만들 수 있음
- 그러나 프로그래밍 코드베이스가 더 많아 지면서 코드 오류가 발생할 확률이 높아진다.
- 안드로이드 앱에서 긴 작업을 처리할 때, 자바를 사용하면, 여러 쓰레드를 만들 수 있음
07.그래서 자바? 코틀린?
- 사실 구글 플레이 스토어 측면에서 코틀린은 안드로이드 앱 개발의 공식 언어가 되었다.
- 현재 대다수 안드로이드 개발자는 플레이 스토어 앱 승인을 위해 코틀린을 선호함
- 그러나 여전히 안드로이드를 비롯한 여러 플랫폼에서 일반 목적으로 작업을 할때는 자바가 더 적합
- 결과적으로 개발자의 만족도와 후원사의 마케팅 전략에 따라 안드로이드 앱 개발 프로젝트 언어를 선택하게 됨
- 현재 대다수 안드로이드 개발자는 플레이 스토어 앱 승인을 위해 코틀린을 선호함
- 현실적으로는 현재 알고 있는 안드로이드 앱 개발 기준으로 만들 수 있는 언어
- 자바, 코틀린, 플러터(dart) 이렇게 세가지로 알고 있다.
- 처음 앱을 개발하는 사람에게 확실히 플러터가 장점이 있지만
- 좀 어느정도 이전에 안드로이드 개발을 해왔던 사람이라면 간단한 앱은 자바로 더 쉽게 할 수있다고 생각한다.
- 현재 시장에서 사실상 자바로 안드로이드 개발은 기본이고 코틀린 까지 잘하는 사람을 원하는 것이 현실이기에 코틀린을 같이 병행해야하는것 은 필수가 된 것 같다.
- 자바, 코틀린, 플러터(dart) 이렇게 세가지로 알고 있다.
728x90
반응형
'CS Study > JAVA' 카테고리의 다른 글
2022-05-24-자바-상속이란 (0) | 2022.05.24 |
---|---|
2022-05-15-쓰레드와동기화 (0) | 2022.05.16 |
2022-04-23-자바-기초정리1 (0) | 2022.04.24 |
2022-04-23-자바의-메모리-모델과-Object-클래스 (0) | 2022.04.24 |
2021.10.05_java-static (0) | 2021.10.05 |
댓글