코틀린 소개
자바 플랫폼에 들어가는 새로운 프로그래밍 언어
간결, 실용적, 자바와의 상호 운용성을 중시
대표적 서버 개발, 안드로이드 앱 개발 등의 분야에서 적용 가능
주요 특성
- 대상 플랫폼 : 서버, 안드로이드 등 자바가 실행되는 모든 곳
- 정적 타입 지정 언어
- 성능 : 실행 시점에 타입 판단 불필요 → 메소드 호출이 더 빠르다
- 신뢰성 : 컴파일러가 프로그램의 정확성을 검증하기 때문에 오류로 중단될 가능성이 적어진다.
- 도구 지원 : 안전한 리팩토링, 도구는 더 정확한 코드 완성기능 제공 가능
- 함수형 프로그래밍과 객체지향 프로그래밍
- 간결성, 추상화, 코드중복 제거
- 함수형 스타일로 다룰 수 있는 API 제공
- 무료 오픈소스
철학
실용성
- 실제 문제를 해결하기 위해 만들어진 실용적 언어
- 연구를 위한 언어가 아닌, 다른 프로그래밍 언어가 채택한 이미 검증된 해법과 기능에 의존
- 자바 문법으로도 작성가능 → 코틀린의 더 강력한 특성을 발견하고 잘 적용
- 도구를 강조, 인텔리j의 IDEA 개발과 컴파일러 개발이 맞물려 이뤄진다.
간결성
- 게터, 세터, 생성자 파라미터를 필드에 대입하기 위한 로직 등 번거로운 코드를 묵시적으로 제공
- 다양한 표준 라이브러리 제공으로 불필요한 코드 작성 제거
- 쓰고 읽는 시간 단축
안전성
- 자바보다 더 높은 수준의 안전성을 달성하되, 전체 비용은 더 적게 지불하도록 설계
- JVM에서 실행한다 : 이미 상당한 안전성 보장 → 메모리 안전성, 버퍼 오버플로 방지, 동적 할당한 메모리 오용 방지
- 실행시점 오류 발생 대신 컴파일 시점 검사를 통해 오류를 더 많이 방지해준다.
- NullPointerException, ClassCastEexception 방지
상호운용성
- 기존 자바 라이브러리 사용 가능
- 코틀린의 클래스나, 메소드를 자바 클래스,메소드와 똑같이 사용 가능
- 자체 컬렉션 라이브러리 제공 x → 자바 표준 라이브러리 클래스에 의존 → 몇가지 기능 추가
참조
'Programming Language > Kotlin' 카테고리의 다른 글
Kotlin in Action - 2 (0) | 2022.01.02 |
---|