[Kotlin] Kotlin이란?

백현균·2022년 12월 25일

코틀린(Kotlin)이란?

코틀린은 2011년 7월 JetBrain사가 공개한 JVM기반에서 동작하는 프로그래밍 언어를 의미한다.
간결하고, 실용적이며 자바코드와 상호운용성를 중시한 언어이다.

목적

코틀린의 주된 목적인 현재 자바가 사용되고 있는 모든 용도에 적합하면서도, 
더 간결하고 생산적이며 안전한 대체 언어를 제공하는 것이다.
코틀린이 정한 목표범위는 광범위하다. 구체적인 영역의 문제를 해결하거나 특정 프로그래밍 패러다임을 지원하는 
여러 라이브러리와 잘 융합된다. 

주요 특성


대상 플랫폼 - 서버, 안드로이드 등 자바가 실행되는 모든 곳

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

특성

현재 코틀린은 자바뿐만 아니라, 자바스크립트에서도 코틀린을 컴파일할 수있다.
따라서 코틀린코드를 브라우저나, 노드에서 실행이 가능하다.
	* 코틀린 1.1버전 부터 자바스크립트를 정식적으로 지원

코틀린의 주요 특징은 다음과 같다.
1. 기본적으로 정적타입 언어이다.
	- 자바와 마찬가지로 컴파일 시 변수의 자료형이 결정되어 안전하다.
2. Null 안정성
	- 코틀린의 데이터타입은 기본적으로 Null을 허용하지 않음
    - 다만, Null이 될 수도 있는 타입을 제공
    - Null값 허용 여부를 컴파일 단계에서 검사하기때문에 NullPointerException으로 인한 프로그램 중단 예방 
      가능
3. 함수타입에 대한 지원
	- 함수형 프로그래밍을 지원한다.
    - 함수를 만들어서 변수로 관리할 수 있고, 다른 함수의 매개변수로 전달할 수 있다 물론 반환도 가능하다.

왜 코틀린인가?

1. 자바와의 호환성
	- 자바의 메소드 호출, 클래스 상속, 인터페이스구현, 어노테이션 등 자바에서 적용하던 모든 것을 코틀린에서
      사용 할 수 있다.
2. 실용적
	- 어느 특정 프로그래밍에서 스타일이나, 패러다임 사용을 강요하지 않음
    - 예시) 자바에서 사용해온 익숙한 프로그래밍 스타일을 코틀린에 적용 가능
3. 간결성
	- 코틀린의 코드는 간결하고 간단하다.
    - 예시) getter, setter, 생성자 파라미터를 대입 로직등 자바에서 번거로웠던 코드를 코틀린에서 묵시적으로 제공한다 -> 데이터 클래스 등
4. 안전하다
	- JVM기반의 언어이고 실행되기 때문에, 상당한 안정성을 보장 할 수 있음
	- 정적 타입 지정언어로, 타입자동추론을 사용해서 타입 안정성을 보장
    - Null타입 지원도 가능하기 때문에, NullPointerException으로 인한 오류 방지도 가능
 

0개의 댓글