[Kotlin] Kotlin

jsieon97·2023년 4월 17일

Kotlin이란?

intellj,pycharm 등 IDE 툴을 만든 젯브레인즈(jetbrains)에서 개발한 언어.
2011년에 발표되었고, 코틀린섬 이름으로부터 지어졌고, 2017년 구글에서 안드로이드 공식언어로 선택되었다.

Kotlin의 활용

자바를 대체할 수 있는 언어로, 다음과 같은 프로그래밍이 가능한 멀티 플랫폼이다.

  • Kotlin/JVM - 자바 가상 머신 상에서 동작하는 앱(자바앱/안드로이드앱) 개발
  • Kotlin/JS - 자바스크립트에 의해 DB부터 서버, 클라이언트까지 다루는 풀스택 웹개발
  • Kotlin/Native - 안드로이드와 IOS뿌만 아니라 임베디드,IoT 등 앱 개발.

즉 서버 안드로이드 등 자바가 실행되는 모든 곳에서 사용할 수 있다.

Kotlin 특징

정적 타입 지정 언어

모든 프로그램의 구성요소를 컴파일 시점에서 알수 있고, 컴파일러가 타입을 검증해줌으로써 개발자가 타입을 선언하지 않아도 타입을 추론해주기에 타입선언을 생략하고 프로그램이 타입 오류로 중단될 가능성을 줄인다.

Null 안정성

널이 될수 있는 타입도 지원한다. 컴파일 단계에서 널 값 허용여부를 검사해 널 포인터로 인한 프로그램 중단을 예방할 수 있다.

함수 타입에 대한 지원

함수형 프로그래밍을 지원함으로써 프로그램의 행동을 나타내는ㄴ 코드 조각을 순수함수로 나누어 문제를 해결한다. 이로써 가독성을 높이고 유지보수를 용이하게 하며 다중스레드를 사용해도 안정적이다.

결론

자바와 호환도 잘되면서 실용적으로 간결하면서 안전한 언어이기 때문

자바와 호환성

자바 메소드 호출, 자바 클래스 상속, 인터페이스 구현, 자바 어노테이션 등 자바에서 적용하던걸 모두 코틀린에서 할 수 있다.

실용적

다른 프로그래밍 언어가 채택해서 이미 성공적으로 검증된 해법과 기능만 담았다.

간결하다

자바에 비해 간단하고 간결하다.
예를들어 getter, setter, 생성자 파라미터를 대입로직 등 자바에서 번거로운 코드를 코틀린에선 묵시적으로 제공하고 람다 표현식으로 작은 코드 블록을 라이브러리 함수에 쉽게 전달할 수 있다.

안전성

우선 JVM에서 실행하기 때문에 상당한 안전성을 보장한다. JVM 사용으로 인해 메모리안전성 보장,버퍼오버플로우 방지, 동적메모리 할당으로 인한 문제 예방할 수 있다.
또한 앞서 말한 듯이 타입자동추론으로 타입 안정성을 보장하고 널타입 지원으로 NullPointerException으로 인한 프로그램 오류도 방지해준다.

참고

https://incheol-jung.gitbook.io/docs/study/kotlin-in-action/1

https://developer.android.com/kotlin/learn?hl=ko

profile
개발자로써 성장하는 방법

0개의 댓글