나는 지금까지 많은 언어들을 만나오지는 않았다. 하지만 코프링 이라는 단어가 생겨난 지금
코틀린에 대한 궁금증이 생겨 'ATOMIC KOTLIN'이라는 책으로 하루 최소 1 아톰씩 공부해보고자 한다.
* 1 아톰 : 물질의 최소 단위인 아톰을 뜻하는 것으로, 각 장을 더 작은 단위로 나눌 수 없도록 작성한 책으로 각 장을 의미
코틀린을 왜 써야할까?
[ 그 전에 알아두면 좋은 기초 지식 ]
- 코틀린은 해석되지 않고 컴파일 되는 언어로 바이트 코드로 번역됨
* 바이트 코드는 가상 머신에서 실행될 수 있는 중간 수준의 형태로 JVM에서 실행
위의 한 줄로 연결지어 설명이 가능함을 알 것이다.
- 바이트 코드로서 번역되는 언어로서 JVM에서 실행되어 가상 머신만 있다면 바이트 코드로 어느 기계에서나 실행이 가능하다.
- 컴파일 시점 오류가 없다면 컴파일 되며. 실행 시점 오류는 컴파일 시점에 감지할 수 없는 오류이다.
이는 자바 언어를 공부했다면, 쉽게 이해할 수 있는 내용일 것이다.
그렇다면 왜 코틀린일까?
대부분의 언어는 이전 언어보다 더 나은 언어가 되고자 탄생한 언어일 것이다. 코틀린도 이와 같다.
위에서 이야기 했듯 '자바 언어를 공부했다면'을 떠올려 보면 바로 알 수 있을 것이다.
코틀린은 '더 나은 자바'가 되기 위해 탄생한 언어이며 아래와 같은 장점과 특징을 가진다.
[ 장점 ]
1) 가독성 : 준비 코드 필요 없음에도 복잡한 표현 가능
2) 도구 : 여러 언어 기능이 도구 지원을 염두에 두고 설계됨
3) 다중 패러다임 : 함수형 / 명령형 / 객체 지향 프로그래밍
4) 다중 플랫폼 : JVM / 안드로이드 / JS / 네이티브 바이너리
[ 특징 ]
1) 자바 상호 운용성 : 자바 문법과 하위 호환될 필요 없음
2) 빈 값 표현 방식 : Null 참조를 반영해 컴파일 시점에 Null 오류 발생 가능성에 대한 오류를 금지
[ 오늘의 학습 소감 ]
오늘 학습하면서 가장 놀라웠던 점 중 하나는 바로 '특징 2) 빈 값 표현 방식'이었다.
항상 자바 언어를 쓰고, 이를 이용해 Spring을 이용해 코드를 짜면서 매 번 마주했던 오류가 바로 'NullPointException'이라고 해도 과언이 아닐 정도이다. (구글에 저 단어만 검색해도 'NullPointException 자바'라는 글이 수십개, 수백개가 뜰 정도이니 말이다.) 그렇기에 코틀린이 반 값 표현 방식에 있어 컴파일 시점에 Null 오류 발생 가능성에 대해 알려준다는 것에 매력을 느끼면서도 놀라웠던 하루였다.
'공부 자료 > 코틀린[Kotlin]' 카테고리의 다른 글
[Atomic 07] if 식 (0) | 2024.01.06 |
---|---|
[Atomic 06] 함수 (0) | 2024.01.05 |
[Atomic 05] 데이터 타입 (0) | 2024.01.04 |
[Atomic 04] var & val (0) | 2024.01.03 |
[Atomic 03] Hello, World! (3) | 2024.01.02 |