본문 바로가기
발전로그/책장로그-개발

kotlin in action 01

by 4lleycat 2022. 1. 2.

1. 코틀린이란 무엇이며 왜 필요한가?

코틀린이란?

  • java 플랫폼에서 돌아가는 언어
  • 간결, 실용, java와 상호운용성 (interoperability) 중시 -> 생산성과 안전한 대체언어 제공 목적
  • 정적 타입언어 (단, 컴파일러가 타입추론을 지원하기 때문에 타입을 직접명시하지 않아도 작동한다)
  • null type 지원함으로 컴파일시점에 null pointer exception 검사가능
  • functional programming 지원
    • 간결성, 다중 스레드에도 안전, 테스트쉬움

 

코틀린으로 만들 수 있는 것들

  • 안드로이드
  • 서버
  • html 빌더도 지원
  • exposed : 코틀린 orm
  • IOS
  • 라즈베리 파이
  • etc…

 

코틀린의 철학

  • 실용성
    • 이미 알고있는 자바 프로그래밍 스타일,개념이 사용가능하다
    • 이미 성공적으로 검증된 해법에 의존한다
    • 인텔리J, 컴파일러와 함께 개발되어 코드 작성시 IDE의 도움을 많이 받을 수 있어 편하게 작성가능
  • 간결성 ( 짧게가 아닌 알아보기 편하게!)
    • java의 기본 세팅 코드들을 묵시적 제공 (getter, setter, constructor..)
    • 람다식 지원
  • 안정성
    • JVM에서 실행 (메모리, 버퍼, 등등 관리)
    • null 타입 지원으로 null pointer exception 발생을 낮추기 위해노력
    • class cast exception 방지
  • 상호운용성
    • 자바 <-> 코틀린 호환 : 라이브러리, 빌드시스템, 소스파일?!!( 소스파일이 섞여있어도 컴파일이된다)
    • 자바 -> 코틀린 변환기도 지원