Uknow's Lab.
article thumbnail

 

코틀린의 문법, 사용 등을 다루는 시리즈를 한 번 올려볼까 합니다.

이름은 코파기. 코틀린 파헤치기라는 의미입니다 ㅎㅎ

 

0부인 코틀린 소개.

1부는 코틀린 기초.

2부는 코틀린 객체지향

3부는 코틀린 고급/심화,

여유가 된다면 4부인 코틀린 코루틴(Kotlin Coroutines) 까지 생각은 하고 있는데,

잘 될진 모르겠네요 ㅎㅎ

 

첫 편이니만큼, 코틀린에 대한 소개로 글을 써볼까 합니다.

 

 

코틀린(Kotlin) 이란?

Kotlin은 2011년 Jetbrains에서 발표한 프로그래밍 언어입니다. Intellij 등 IDE로 유명한 회사이죠?

Kotlin은 Java와 같이 JVM 기반 언어로써, 자바와는 형제 언어로 볼 수 있습니다.

자바와의 상호 운용이 100% 가능하며, 자바로 짠 모듈을 코틀린에서 불러와 실행이 가능하며,

코틀린으로 짠 모듈을 자바에서 불러올 수 있습니다.

저 역시, 안드로이드 개발을 할 때에 처음엔 자바로 짜다가 코틀린을 도입했는데,

기존 코드는 그대로 납둔채 새로 짜는 것만 코틀린을 적용하고, 기존의 코드를 import해 사용하곤 했습니다.

따라서, 자바로 할 수 있는 일은 웬만하면 코틀린에서도 다 할 수 있는데요.

Android, Spring, Swing, JSP 모두 가능합니다.

 

Android 진영은 구글이 공식 언어로 코틀린을 채택한 후 매우 빠르게 성장하고 있고,

Spring 진영은 아직까진 자바가 우세하나, 코틀린으로 짠 스프링. 편히 코프링이라고 부르며

코틀린 기반 스프링 역시 점점 커져가고 있습니다.

 

코틀린은 2011년에 나온 언어로,

1995년 출시되어 30년에 가까운 역사를 지닌 자바에 비해 매우 짧은 역사를 가지고 있습니다.

하지만, IDE로 유명한 Jetbrains에서 개발하였고,

Google이 안드로이드 공식 언어로 채택하는 등 코틀린의 뒤에 무시무시한 기업들이 있어서 그런지,

매우 빠르게 발전해나가며 점유율을 높여나가고 있습니다.

 

코틀린은 자바를 대체할 목적으로도 개발된 언어기 때문에, 자바의 단점/불편한 점을 개선하면서 동시에,

트렌디한 현대 언어의 특징 역시 갖고 있습니다.

개인적으로, Java와 Python을 섞어놓은 듯한 느낌을 받았습니다.

그야말로 프로그래밍 언어계의 MZ네요.

 

 

 

코틀린의 특징

  • 간결함
    • 장황한 언어에 속하는 자바에 비해면 굉장히 짧은듯한 느낌입니다
    • getter / setter도 아예 빼버렸습니다!
    • 세미콜론(;)도 빼버렸습니다! (붙여도 오류는 안납니다), new 키워드도 뺐습니다!
  • null 안정성
    • 코틀린은 설계때부터 null 안정성을 고려하여 설계되었습니다.
    • 변수 자체가 null을 허용하는 nullable과 허용하지 않는 notnull로 나뉘며, null 관련 연산자들을 사용해 null을 간편히 다룰 수 있습니다.
  • 컴파일될 때 자료형을 확정하는 정적 언어입니다
  • 함수형 프로그래밍을 지원합니다
  • 객체지향 프로그래밍을 지원합니다
  • 자바와 상호운용이 가능합니다
    • 코틀린의 가장 큰 특징 중 하나입니다.

 

 

그럼, 단점도 있을까?

자바의 개선판 언어이다 보니, 자바에 비한 단점은 없습니다.

굳이 뽑자면 아직 자바에 비해 생태계가 좁고, 새로운 언어를 배워야 한다는 점 정도지요.

 

다만, 자바에 비해서 단점이 없다는 것이지,

JVM 위에서 실행되어 메모리를 더 잡아먹는다던가,

C/C++에 비해 느리다던가...

자바 자체의 단점 중 개선시키지 못한 단점은 그대로 가져왔어요.

그래도... 장황한 코드를 그대로 가져오지 않았단게 전 너무 고맙습니다...

 

 

코틀린으로 Hello World 출력해보기

코틀린의 개발환경은 Intellij, Eclipse, Android Studio 등이 있습니다.

실제 프로그램 개발 목적이 아니라, 단순히 코틀린 공부나 실습용도라면 IDE 설치가 부담스러울 수 있습니다.

이 때는 코틀린 웹 컴파일러가 도움이 되겠네요.

 

https://play.kotlinlang.org/

 

Kotlin Playground: Edit, Run, Share Kotlin Code Online

 

play.kotlinlang.org

 

 

 

잘 출력된 모습이네요.

 

다음 글 부터는 본격적으로 코틀린 문법을 다뤄볼 생각입니다.

저는 학원에서 강사로 뛰어보거나, 전문적으로 교직과정을 이수한 사람이 아니므로

제 설명이 잘 이해되지 않을 수 있습니다. T.T

 

해당 시리즈는 코딩을 아예 처음 시작하는 분들이라면 이해하기 힘들 수 있으며,

자바의 문법과 비교하여 설명하는 부분이 많이 등장할 예정이므로,

자바를 해본 개발자분들이라면 원활히 이해가 되실겁니다.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.