코틀린
#1 코틀린 개요
림디
2019. 7. 15. 13:00
반응형
1. 정적 타입의 언어
모든 표현식의 타입을 컴파일 시점에서 알 수 있으므로 프로그램에서 사용되는 모든 변수 및 객체를 컴파일러가 미리 검증할 수 있다(실행 시점의 오류 발생을 방지).
2. 타입 추론(type inference) 기능
변수를 선언하고 사용할 때 변수의 타입을 명시적으로 지정하지 않아도 처리가 가능하다.
Ex) var i = 1 이라고 선언 시 코틀린에서 i 변수를 int로 나타낸다.
3. Extension
기존의 클래스로부터 상속 받지 않고 해당 클래스의 기능을 추가할 수 있는 extension 함수와 확장 속성을 사용할 수 있다.
4. 함수형 프로그래밍
다양한 형태의 함수와 람다식(Lambdas expression)을 지원
Ex) 함수 내부에 다른 함수를 선언하고 사용, 멤버 함수( 자바의 메서드 형태) , 제네릭 함수(함수에 제네릭 타입 사용),
상위차 함수(higher-order : 다른 함수를 인자로 받아 실행 시킬 수있음), inline 함수 (성능 향상), 재귀 함수(tail recursive)
5. getter, setter 자동 생성 및 ; 사용 안함
6. NullPointerException 예외 처리
Ex) val string : String? = null , 이 경우 null값인지 확인하는 코드가 없으면 컴파일 에러로 처리