[Kotlin] Kotlin이란?

백현균·2022년 12월 25일
0

코틀린(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개의 댓글