Kotlin, Who Are You?

d4v1d·2022년 3월 22일
0

Kotlin

목록 보기
1/4

개요

Kotlin이 무엇인지 간단히 정리한 포스트입니다. 💪🏻

Kotlin


Kotlin은 Jetbrains에서 개발한 Java 기반 프로그래밍 언어로, Java의 단점을 보완하면서 Java와 함께 사용할 수 있습니다(interoperable).

Java와의 차이점

참고자료 - Kotlin vs Java

Kotlin만의 특징

  • Method 이름이 fun이다!
  • 아무것도 return하지 않으면 return type을 명시할 필요가 없음(Java: void)
  • 각 변수의 type을 명시할 필요 없이 val로 선언함(type interference)
  • val은 변수를 immutable하게 선언하는 방식으로, 값을 바꾸고자 하는 변수는 var로 선언
  • 새로운 인스턴스를 생성하기 위해 new 키워드를 사용하지 않아도 된다!
  • Java와 interoperable함(Kotlin 코드에 완벽 호환되는 Java 코드로 실행됨)
  • Java class(POJO)에서 매번 선언해야 하는 getter, setter가 Kotlin에서는 property로서 생성되고, 따라서 이들이 필요 없음

Kotlin에서 함수를 선언하는 다양한 방식

Kotlin의 장점

  • 코드가 간결하다.
  • 코드를 작성하는 개발자가 (im)mutability, nullability등을 고려해야 하므로 코드가 더 안전하다.
  • 위 장점들 덕분에 복잡한 것을 수월하게, 빠르게 개발할 수 있다.
  • IDE 지원이 잘 되어있다(IntelliJ, Android Studio 등).
  • 커뮤니티가 활성화되어있고, 기존 라이브러리들이 Kotlin을 지원한다.
  • Production 준비가 되어있다(Google, Pinterest 등 큰 기업들이 이미 사용중).

Build Tool

What is a build tool? - StackOverflow
Kotlin으로 프로젝트를 시작하기 위해서는 먼저 build tool이 무엇인지를 알아야 합니다.
Build tool은 소스 코드로부터 실행 가능한 애플리케이션(ex. 안드로이드 앱에서의 .apk 파일)을 생성하는 과정을 자동화해주는 프로그램입니다. Build 과정은 코드를 컴파일(compile)하고, 링크(link)하고, 사용(실행) 가능한 형태로 패키지화하는 작업입니다.
아래와 같이 개발자들이 매번 반복하는 코드 작성을 build automation을 통해 자동화할 수 있습니다.

  • Dependencies 설치
  • 소스 코드를 바이너리 코드로 컴파일
  • 바이너리 코드를 패키지화
  • 테스트 실행
  • Production으로 배포

작은 프로젝트라면 개발자가 해당 빌드 과정을 직접 수행할 수도 있지만, 큰 프로젝트라면 필요한 dependencies의 종류나 순서가 복잡하므로 안정성을 위해 build tool이 꼭 필요합니다.

대표적인 build tools

  • Java Ant, Maven, Gradle
  • .NET NAnt
  • C# MsBuild

정리

Kotlin은 기존 Java 기반 프로젝트에도 쉽게 녹일 수 있는 모던한 언어입니다. 다음 포스트에서 Kotlin + Spring Boot로 간단한 API 서버를 시작하는 예제를 소개할 예정입니다. 👨🏻‍🔧

profile
데이터 엔지니어/백엔드 개발자 d4v1d의 개발 일지🐯

0개의 댓글