코틀린의 장점
개발자의 편의성, 간결하고 효율적인 코드 작성, 객체지향 프로그래밍과 함수형 프로그래밍의 장점을 절묘하게 조화시킨 언어
1. 널안정성
널값 허용여부를 컴파일단계에서 검사하므로 런타임에서 발생하는 오류를 줄 일 수 있습니다.
nonnullable 타입을 기본으로해 null 참조를 제거합니다. null을 넣고 싶은 변수는 그 타입을 nullable로 선언합니다.
이때 변수에 ?를 붙혀주면 null값을 넣는게 가능한 변수를 뜻합니다.
2. 간결한 문법
세미콜론이 없고 new 키워드 없이 객체를 생성 가능합니다. 타입추론을 지원하므로 일반적인 타입을 적지 않습니다.
Java로 개발하는 것 보다 비약적으로 코드의 양이 줄어 듭니다.
3. 가변 / 불변 지원
var - 할당된 값을 런타임시에 자유자재로 바꿀 수 있는 변수
val - 값을 한번 할당하고 나면 그 후에 값을 변경 할 수 없는 변수로 자바의 final키워드를 붙인 변수와 동일함
const - 컴파일시의 상수란 의미로 컴파일타임에 값을 할당해야 한다는 의미
4. 람다 표현식 지원
자바로 작성된 인터페이스에 한해 sam 변환을 지원하여 함수의 인자로 전달되는 인터페이스의 인스턴스를 람다로 표현할 수 있습니다.
람다 표현식이란 메서드를 메서드의 이름과 반환값을 삭제하고 표현한 하나의 식으로 익명함수라고도 불린다.
5. 스트림 api를 지원
자바8은 콜렉션 내의 자료를 다루는데 유용한 스트림 aoi를 지원하지만 안드로이드 6.0 이상에서만 지원되는 등 제약이 컸지만 코틀린은 제약이 없습니다.
6. 완벽한 자바 호환성
코틀린은 자바와 100% 호환되는 언어입니다. 자바 코드를 복사 후 코틀린 파일에 붙혀넣기 하면 자바코드가 자동으로 코틀린 코드로 변환된다.
'안드로이드 개발 > 코틀린' 카테고리의 다른 글
Live Data 와 Coroutines Flow (0) | 2022.05.18 |
---|---|
[Kotlin] Lottie 애니메이션 사용법 (0) | 2021.08.10 |
[Kotlin] 파이어베이스 기반 전화번호 로그인 (0) | 2021.08.06 |
코틀린의 느낌표 물음표(널가능성) (0) | 2021.03.25 |