Kotlin In Action 1

Caesars·2022년 2월 13일
1

Kotlin

목록 보기
1/2

얼마 전 부터 코틀린 학습을 시작했습니다. 아직 Java를 다루는 것도 썩 자신이 없는데 뭔가 새로운 언어를 배우는 게 맞나 싶은 의문이 있지만 많은 사람들이 점점 코틀린으로 옮기는 데는 이유가 있을 테니 일단 시작부터 해보려고 합니다.

책의 모든 내용을 다 올릴 수는 없을테니 읽으면서 중요하다 싶은 내용만 추려서 블로그에 정리하겠습니다.

  • 코틀린의 특성
    • 대상 플랫폼 : 자바가 실행되는 모든 곳
    • 정적 타입 언어
    • 함수형 프로그래밍과 객체지향 프로그래밍
    • 무료 오픈소스
  • 코틀린의 철학
    • 실용성
    • 간결성
    • 안정성
    • 상호운용성

코틀린의 특성

대상 플랫폼 : 자바

코틀린의 주목적은 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결한 언어를 제공하는 것입니다. JVM 기반으로 동작할 수 있도록 설계되었기 때문에 기존 자바 언어를 완벽하게 대체할 수 있으며 자바 + 코틀린을 함께 사용하는 것도 가능합니다.

정적타입 언어

자바와 마찬가지로 정적 타입 언어입니다. 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있으므로 필드나 메소드의 타입을 컴파일러가 검증해 줍니다.

반대로 동적 타입언어는 타입과 관계없이 모든 값을 변수에 넣을 수 있고, 메소드나 필드에 대한 검증이 실행 시점에 일어납니다.

함수형 프로그래밍

  • 일급 시민 함수 : 함수를 일반 값처럼 변수에 저장하고 다른 함수에 인자로 전달 가능
  • 불변성 : 일단 만들어지고 나면 내부 상태가 바뀌지 않음
  • 부수 효과 없음 : 입력이 같으면 항상 같은 출력을 내놓음

무료 오픈소스

코틀린 언어와 컴파일러, 라이브러리 등 코틀린과 관련된 모든 도구는 오픈소스이며 어떤 목적에든 무료로 사용가능합니다.

코틀린의 철학

코틀린은 실용성, 간결성, 안전성, 상호운용성이라는 철학을 중심으로 설계됐다.

실용성

특정 패러다임을 사용하도록 강제하지 않으며, IntelliJ와 높은 호환성을 제공한다.

간결성

짧고 간결한 코드 = 높은 이해도 제공 + 유지보수의 도움 = 생산성 향상이라는 믿음 아래에 간결한 코드 문법을 제공한다. 단, 숏코딩 자체가 코틀린의 본질은 아니다.

안전성

JVM위에서 동작하기 때문에 기본적인 안정성이 있으면서 NPE를 방지하고, 변수의 불변성을 쉽게 지킬 수 있다.

상호운용성

기존 자바 라이브러리를 그대로 쓸 수 있고, 자바 코드와 함께 사용할 수 있다. 코틀린에는 롬복이 필요없지만 특정 버전 이후부터 롬복을 지원하면서 최대한 기존 자바 사용자를 배려하는 느낌을 받을 수 있다.

profile
잊기전에 저장

0개의 댓글