[Kotlin 코틀린 이란]
- JVM 기반의 언어이며, 자바(Java)를 대체할 수 있도록 개발된 언어이다.
- 자바(Java)와 비교하여 간결한 문법을 제공한다.
- 구글이 안드로이드의 공식 언어로 Kotlin 추가
- 확장자는 .kt 컴파일하면 자바와 같이 .class
[Kotlin 코틀린 특징 및 장점]
- 정적 타입 지정 언어이다.
프로그램의 구성 요소(객체, 메서드 타입 등)를 컴파일 시점에 알 수 있고,
컴파일러가 타입을 검증해준다.
컴파일 타임에 메서드의 호출관계가 지정되어 런타임 빠르다.
컴파일러가 검증하기 때문에, 오류로 중단될 가능성이 적어진다.
- 널 (null)에 대한 안정성을 제공한다.
컴파일 단계에서 NullPointerException을 검사한다.
런타임 시 발생할 수 있는 여러 문제의 가능성을 줄여준다.
자바 객체는 기본적으로 null을 허용하기 때문에 런타임 시, NPE이 많이 발생한다.
- 함수형 프로그래밍(Functional Programming)을 지원한다.
코틀린은 함수형 프로그래밍과 객체 지향 프로그래밍을
모두 지원하는 '다중 패러다임 언어'이다.
함수를 변수에 담을 수 있고, 함수의 파라미터로 함수를 넘겨줄 수 있다.
함수형 프로그래밍 : 순수 함수를 작성하여 프로그램의 부작용을 줄이는 기법
가독성을 높이고, 유지보수 용이
ex) Kotlin, JavaScript
객체지향 프로그래밍 : 객체들의 집합으로 상호작용
ex) JAVA, C#, C++
절차지향 프로그래밍 : 로직 위주로 동작
ex) C, C++
- 간결하다.
getter / setter와 같은 자바에서 번거로웠던 코드를 코틀린에서 컴파일 시 자동으로 생성해준다.
'IT > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 lateinit property has not been initialized 에러 (0) | 2023.08.31 |
---|---|
[Kotlin] 코틀린 함수 (fun) 선언, 정의, 사용법, 코틀린 Unit (0) | 2023.07.10 |
[Kotlin] 코틀린 데이터 타입 Any, Nothing, 물음표(?) Nullable, Not NUll (0) | 2023.07.08 |
[Kotlin] 코틀린 lateinit, lazy 키워드 초기화 미루기 (0) | 2023.07.07 |
[Kotlin] 코틀린 변수 var, val, const (0) | 2023.07.04 |