코틀린

#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값인지 확인하는 코드가 없으면 컴파일 에러로 처리