안녕하세요 챠니입니다!
Java와 Kotlin의 차이에 대해서 알아보겠습니다.
구글은 2017년 5월 Google I/O에서 코틀린(Kotlin)을 공식언어로 채택 -> 2019년 Google I/O에서 Kotlin First를 선언하며 Kotlin을 메인언어로 지원하고 있습니다.
Android Developer에서도 먼저 보여지는 언어가 Kotlin일 정도로 예전 Java에 대한 지원을 끊는것은 아니지만 그만큼 계속해서 Koltin에 대해 강조하고 있는것이 아닌가 싶다.
*Java(객체지향 프로그래밍/ Object Oriented Programming): 클래스 디자인과 객체들의 관계를 중심으로 코드 작성이 이루어짐, 따라서 상태, 멤버변수, 메서드 등이 긴밀한 관계를 가지고 있다.
*Kotlin(함수형 프로그래밍 / Funtional Programming): 값의 연산 및 결과 도출 중심으로 코드 작성이 이루어짐, 함수 내부에서 인자로 받은 값을 별도로 저장하지않고, 간결한 과정으로 처리하고 매핑하는데 주목적
그렇다면 Kotlin의 함수형 프로그래밍 Funtional Programming에 대해서 알아보자
장점:
- 변수와 상수: Java는 상수를 final을 통해서 선언 / Kotlin은 val로 선언(변수 var)
- view의 사용: Java는 findViewById로 접근 / Kotlin은 id로 바로접근 및 ViewBindingd을 통해 접근가능
- Null의 안전성: Java는 @Nullable / Kotlin은 간편하게 변수명뒤에 ?를 붙여줌으로써 null가능
-객체초기화: Kotlin은 apply를 통하여 명시없이 바로 객체함수 사용가능
- Data class: Java는 변수선언 get, set을 모두 선언해주어야함 / Kotlin은 변수 선언이 바로 get, set을 모두 포함
단점:
Kotlin을 Clean build시 시간이 보통의 1.3배정도 시간 소요
'개발관련' 카테고리의 다른 글
[Android] 디바이스(Device) 무선 연결하는 방법 (0) | 2022.08.08 |
---|---|
vi에디터 편집 단축키 (복사, 삭제) (0) | 2022.07.22 |
디자인패턴 MVC / MVP / MVVM (0) | 2021.11.18 |
안드로이드(Android) 생명주기(LifeCycle)에 관하여 (0) | 2021.11.18 |
데이터 바인딩 (DataBinding) 이란? (0) | 2021.11.18 |
LiveData에서 setValue() / postValue()의 차이점 (0) | 2021.11.18 |
오버로딩(Overloading) / 오버라이딩(Overriding) (0) | 2021.11.18 |
코루틴(coroutine)이란? (0) | 2021.11.18 |