1장은 Kotlin이란 무엇이며, 왜 필요한가라는 주제를 가진 챕터이며, 이 챕터에서 가장 눈에 띄었던, Kotlin의 철학에 대해서 정리하고, 다음 시간부터는 Kotlin 기초에 대해서 정리하도록 하겠습니다.
요즘 프로그래밍 언어, 프레임워크를 공부하다 보면 왜 배워야 하는지, 어떤 목적으로 만들어졌는지에 대한 생각이 가장 많이 납니다.
코틀린도 아마 목적을 가지고 만들어졌을 거예요.
Kotlin In Action에서 코틀린의 철학이라는 챕터 안에 그 목적을 적어놓은 것을 확인할 수 있었습니다.
- 실용성
- 간결성
- 안전성
- 상호운용성
실용성
1. 코틀린은 실제 문제를 해결하기 위해 만들어진 실용적인 언어다.
코틀린은 연구를 위한 언어가 아니기 때문에, 최신 프로그래밍에 앞서 채택하지 않고, 다른 프로그래밍 언어가 채택한 이미 성공적으로 검증된 해법과 기능에 의존한다고 한다.
이 장점을 이용해 언어의 복잡도가 줄어들고 이미 알고 있는 기존 개념을 통해 쉽게 배울 수가 있다고 합니다.
2. 코틀린은 어느 특정 프로그래밍 스타일이나 패러다임을 사용할 것을 강제로 요구하지 않는다고 합니다.
코틀린을 처음 배우는 사람은 자바에서 사용해 온 익숙한 프로그래밍 스타일이나 기법을 활용할 수 있고, 나중에 코틀린의 강력한 특성을 발견하고 적응 해나가 더 간결한 코드를 작성하라고 합니다.
3. IDE의 지원으로 인하여, 편리한 개발 환경과 생상성 향상에 좋다.
간결성
1. 코틀린은 코드가 더 간단하고 간결할수록 내용을 파악하기 더 쉽다고 합니다.
어떤 언어가 간결하다는 말은 그 언어로 작성된 코드를 읽을 때 의도를 쉽게 파악할 수 있는 구문 구조를 제공하고, 그 의도를 달성하는 방법을 이해할 때 방해가 될 수 있는 부가적인 준비 코드가 적다는 뜻이라고 합니다.
2. 코틀린은 boiler plate 코드를 줄였다고 합니다.
코틀린은 Setter, Setter, Constructor 묵시적으로 제공하기 때문에 코틀린 소스코드는 boiler plate 코드를 줄였다고 합니다.
3. 코틀린은 암호문처럼 보이는 기호로 된 이름보다는 단어로 이뤄진 이름이 훨씬 더 읽거나 검색하기 쉽다고 한다.
안전성
1. JVM에서 실행되는 정적 타입 지정 언어로서 코틀린은 애플리케이션 타입 안정성을 보장한다.
JVM을 사용하면 메모리 안전성을 보장하고, 버퍼 오버플로우를 방지하며, 동적으로 할당한 메모리를 잘못 사용함으로 인해 발생할 수 있는 다양한 문제를 예방할 수 있다.
2. 컴파일 시점 검사를 통해 오류를 더 많이 방지해준다.
2-1. NullPointerException을 없애주기 위해 노력했다고 한다.
코틀린의 타입 시스템은 null이 될 수 없는 값을 추적하며, 실행 시점에 NullPointerException이 발생할 수 있는 연산을 사용하는 코드를 금지한다.
2-2. ClassCastException을 방지해준다.
코틀린은 어떤 객체를 다른 타입으로 캐스트하기 전에 타입을 미리 검사하지 않으면 ClassCastException이 발생한다.
상호운용성
1. 코틀린은 자바 표준 라이브러리 클래스에 의존하기 때문에 자바와 상호운용성이 좋다.
자바와 코틀린 소스 파일을 자유롭게 내비게이션 할 수 있다.
자바 메서드를 리팩터링 해도 그 메소드와 관련 있는 코틀린 코드까지 제대로 변경된다. 역으로 코틀린 메소드를 리팩토링해도 자바 코드까지 모두 자동으로 변경된다고 합니다.
2. 코틀린이 제공하는 도구도 다중 언어 프로젝트를 완전히 지원한다고 합니다.
여러 언어로 이뤄진 프로젝트를 디버깅하고 서로 다른 언어로 작성된 코드를 언어와 관계없이 한 단계씩 실행할 수 있다.
4가지 철학을 봤습니다. 정말 코틀린! 넌 누구냐에 대한 답을 명쾌하게 해주는 4가지 철학이었습니다.
4가지의 철학을 배경 삼아서 코틀린을 더욱 Dive Deep 하는 것은 정말로 행운이 아닐까 합니다.
회고
맨 처음 Kotlin In Action책을 봤을 때는 바로 실전에서 사용해야 하는 방법에 대해서만 찾아봤지 이러한 철학에 대한 것은 찾아보지 않았습니다.
하지만, 실전에서 코틀린을 자주 쓰고 있고, 요즘 프로그래밍 언어를 공부하면서 든 생각은 이 언어의 본질을 찾아보고 정리해보자는 마음으로 Kotlin In Action 첫 장부터 공부하게 되었습니다.
공부를 하고 나서 든 생각은 역시 코틀린이다 라는 생각이 확 들었습니다.
4가지 철학에 대해서 마음에 확 와닿았습니다. 두근두근 해지더군요.
앞으로의 코틀린 공부가 기대되기 시작했습니다.
오늘은 여기까지 포스팅하겠습니다.
다음 시간에는 코틀린에 기초에 대해서 설명하기로 하겠습니다.
읽어주셔서 고마워요!
저는 요가하러 가보도록 하겠습니다~
'Kotlin' 카테고리의 다른 글
Kotest (코테스트) 는 무엇일까요? (0) | 2022.04.15 |
---|