Kotlin

Kotlin 개념 (1)

smileDeveloper 2024. 2. 21. 00:35
반응형
SMALL

Kotlin을 간단히 소개하고 시작하자면 Kotlin은 안전성, 간결성, 상호 운영성을 강조하는 다중 패러다임, 다중 플랫폼 프로그래밍 언어입니다. 안드로이드 개발과 같이, 데스크톱 애플리케이션, 서버 측 솔루션 등으로 여러 개발 분야에서 유망한 도구로 꾸준히 인기를 얻고 있습니다. 현재는 자바 가상 머신, 안드로이드, 자바스크립트, 네이티브 애플리케이션 등 여러 플랫폼을 지원합니다. 2017년 구글은 안드로이드 플랫폼의 공식 지원 언어로 선택하기도 했습니다. 구글, 아마존, 넷플릭스, 핀터레스트, 우버 등 여러 회사가 프로덕션 개발에 사용하기도 합니다. 

안정성 

코틀린의 목적은 자바보다 더 안정성을 보장하는 언어를 설계하되, 개발자의 생산성을 덜 해치는 언어를 만드는 것이였습니다. 예를 들면 타입 추론 (Type Inference), Null의 사용 제한 및 예외 방지, 스마트 캐스트 (Smart Cast) 등이 있습니다. 상세한 내용은 추후에 서술하겠습니다.

다중 패러다임

다중패러다임이라는 의미는 기존 자바와 같이 객체지향 패러다임 외에 함수형 프로그래밍을 지원한다는 의미였습니다. 

- 함수형 프로그래밍의 장점으로 불변성 (Immutabilty)이 있는데 부수 효과 (Side Effect)를 만들어낼 수 없다는 의미이기도 합니다. 결국은 새로운 유형의 추상화를 만들어낼 수 있는 유연성으로 표현력이 좋고 간결한 코드를 작성할 수 있기에 생산성의 향상으로 이어집니다.

반면 Kotlin은 처음부터 람다방대한 API를 제공을 하였고 추가적으로 2가지의 패러다임을 더 지원합니다.

- 도메인 특화 언어 (Domain Specific Language, DSL)로 정의할 수 있는 기능 덕분에 선언적인 스타일로 코딩할 수 있습니다.

- 동시성 프로그래밍은 코루틴을 도입하면서 가능하게 되었습니다. 코루틴은 일시 중단 가능한 계산 (Suspendable Computation) 이라는 개념으로 Dart의 async/await, Future 같은 비동기 처리를 지원합니다. 추가적으로 코루틴은 스레드, 디스패치, 채널, 액터 등 주요 기능을 포함하고 있습니다. 이도 상세한 내용은 추후에 서술하겠습니다.

 

코틀린 설계자들은 자바의 악명 높은 불필요한 준비 코드를 제거하고 언어를 간결하게 만들기 위해 노력했습니다. 

코틀린은 자바스크립트와 네이티브를 지원하면서 다중 플랫폼의 기반을 다지고 있습니다.

 

 

위의 내용은 아래의 도서를 참고하였습니다.
알렉세이 세두노프, 코틀린 완벽 가이드, 길벗, 2022, 26~33

 

 

 

반응형
LIST

'Kotlin' 카테고리의 다른 글

Kotlin 클래스와 객체 (4)  (0) 2024.03.01
Kotlin 함수 정의하기 (3)  (1) 2024.02.27
Kotlin 언어 기초 (2)  (1) 2024.02.25
Kotlin 시작  (1) 2024.02.15