일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코틀린개발환경
- gitlab
- 3D프린터
- docker
- OnlineIDE
- 3D
- 3d프린터 초보
- Kotlin
- kubernetes
- Jenkins
- 데이터 직렬화 포맷
- NAS HDD교체
- 네이버클라우드
- nas
- data serialization formats
- ci/cd
- Token인증방식
- docker container
- Notification
- octoprint
- 3D프린터 입문
- C언어
- linux job
- 리눅스 파일동기화
- 3D프린터입문
- 3D 프린터 용어
- 3D모델링
- git
- IoTNetwork
- github
- Today
- Total
0과 1을 공부하다.
[Kotlin] 코틀린 특징 및 개발환경 구성 본문
백엔드 개발자로 전환한지 어느덧 2년이 지났다. 현재 본인은 C/C++, PHP, Python 위주의 언어로만 개발을 진행하고 있다. 좀 더 상위 개발자가 되기 위해서는 최근 개발 트렌드에 맞는 언어를 공부해야 살아남겠다는 생각이 들었다. 그래서 개발 동향에 따라 코틀린 언어를 공부하고자 결심했다.
JAVA, Python 등 다른 언어를 두고서 코틀린을 선택한 이유는 단순하다. 1. 최근 백엔드 개발 동향으로 볼 때 많은 프로젝트에서 사용되고 있으며, 2. 코틀린 언어가 안드로이드 개발에서도 쓰인다는 점이다.
개발 동향에서 많이 쓰이고 있다는 점이 가장 큰 장점은 개발 정보를 얻거나 타인에게 도움을 받기 유리하다는 점을 나타낸다. 초심자 입장에서는 학습을 할 수 있는 정보가 많다는 점은 매우 중요하다. 또한 안드로이드 앱을 통한 개발을 해보고 싶은 욕심이 있어 코틀린 언어를 선택했다.
본 게시물을 시작으로 초심자 입장에서 코틀린을 공부한 내용을 정리할 예정이다. 프로그래밍을 완벽하게 처음 입문자 입장이 아닌 새로운 언어를 공부하는 초심자이기 때문에 다소 상세하지 않을 가능성이 높다.
Kotlin 언어 특징
코틀린(Kotlin)은 JetBrains에서 개발한 현대적인 프로그래밍 언어로, 특히 JVM(Java Virtual Machine)에서 실행되는 애플리케이션을 개발하기 위해 설계된 언어이다.
코틀린은 자바에서 파생된 언어로 자바의 장점을 대부분 갖고 있다. 코틀린과 자바의 공통된 장점은 아래와 같다.
- 크로스 플랫폼(Cross-Platform): 코틀린은 JVM 을 통해 실행 되기 때문에 여러 플랫폼에서 실행된다.
- 정적 타입의 언어(Statically Typed): 컴파일 시점에 타입 검사를 통해 오류를 방지하고 코드의 안정성을 높일 수 있다.
- 자바와의 호환성: 코틀린을 자바 프로젝트에서 사용할 수 있고, 자바 코드를 코틀린 코드로 호출할 수있다.
- 가비지 컬렉터(Garbage Collection, GC): 자바와 동일하게 가비지 컬렉터를 지원하여 메모리 누수를 방지할 수 잇다.
자바와 다르게 코틀린 언어가 갖는 장점은 아래와 같다.
- 간결하고 표현력 있는 문법: 자바보다 더 간결하고 읽기 쉬우며, 코드의 가독성과 유지보수성을 높인다.
- 널 안정성(Null Safety): 코틀린은 널 참조로 인한 오류를 방지하기 위해 기본적으로 널 안정성을 제공합니다. 변수를 선언할 때 널을 허용(String?)하는지 명시해야 한다.
- 스마트 캐스팅(Smart Casting): 조건문을 통해 타입 검사를 한 후, 해당 변수의 타입을 자동으로 캐스팅한다.
- 고차 함수 및 람다(Lambda): 고차 함수와 람다식을 통해 함수형 프로그래밍을 지원한다.
- 데이터 클래스(Data Classes): 데이터 클래스를 통해 데이터 홀더 객체를 쉽게 생성할 수 있다.
- 코루틴(Coroutines): 비동기 프로그래밍을 간단하고 효율적으로 할 수 있도록 코루틴을 제공한다.
이처럼 코틀린 언어는 JAVA의 장점을 대부분 계승하면서 자바와 차별되는 장점을 갖고 있다.
개발환경 구성
코틀린 언어는 IntelliJ, Android Studio, VS Code 등 다양한 통합 개발환경(IDE)을 지원한다.
필자는 C, PHP, Python 등 타 언어 개발을 VS Code를 이용하여 개발한 경험이 있어 익숙한 VS Code를 이용하는 것이 좀 더 적응하기 수월하겠지만 이번 학습 과정에는 처음 접해보는 IntelliJ 를 이용하여 학습 및 개발하여 본다.
IntelliJ를 선택하는 이유는 코틀린 언어는 JetBrains 사에서 공개한 오픈소스 프로그래밍 언어인데 IntelliJ 또한 IntelliJ 사에서 제작한 통합 개발 환경이다.
아무래도 언어를 개발한 제작사의 통합 개발 환경을 사용하는 것이 호환성 및 유연함에서 좀 더 유리하다는 구글링 결과를 통해 결정하게 되었다. 그리고 새로운 언어를 공부할 겸 새로운 통합 개발환경을 접하는 것이 향후 더 유리한 측면이 있지 않을까 기대한다.
그래서 본 글에서는 MAC OS를 기반으로 IntelliJ 환경 구성을 하고 코틀린 언어를 컴파일하는 방법에 대해 기술한다.
IntelliJ 구성 이외에도 별도 설치 필요 없이 온라인을 통해 간단한 코드를 컴파일하고 결과를 볼 수 있는 온라인 컴파일러 Kotlin Playground에 대해 소개 한다.
JDK 설치
통합 개발환경 (IDE) 설치에 앞서 개발 개발 키트(Java Development Kit, JDK)를 설치한다. JDK를 설치하는 이유는 앞서 설명한 바와 같이 코틀린 언어는 JDK로 동작하기 때문이다.
설치는 아래 oracle에서 설치한다.
JDK 버전은 특정 개발환경에서 이전 버전이 필요한 것이 아니라면 가장 최근 버전 (JDK 22) 으로 본인의 OS의 버전에 맞는 배포판으로 설치한다.
설치한 이후 추가로 환경변수를 설정 해야 하지만 필자가 사용하고 있는 MAC OS에서 DMG Installer를 통해 설치하면 환경변수 설정은 필요 없는 것으로 판단된다.
IntelliJ (for MAC)
IntelliJ는 Ultimate와 Community 버전이 있다.
각 버전의 차이는 유료(Ultimate) 무료(Communiy)의 차이가 있다(세부적인 차이점은 생략). 사용자 요구조건에 맞는 적절한 버전을 설치한다. Ultimate는 학교 메일 계정이 있다면 학생 인증을 통해 무료로 이용할 수 있다.
아래 링크에서 본인의 OS에 맞는 버전을 설치한다.
IntelliJ 설치 후 새로운 프로젝트를 생성하여 본다.
실행 후 빨간 박스로 표시한 “New Project” 를 통해 새로운 프로젝트를 생성한다.
프로젝트를 생성하기 위한 정보는 아래와 같이 기입한다.
프로젝트를 생성하면 기본적으로 Main.kt 파일이 생성되어 있다.
우 상단 플레이 버튼을 통해 코틀린 파일을 컴파일하여 실행할 수 있다.
참고 사항
- .kt: 일반적인 코틀린 확장자
- .kts: 코틀린 스크립트 파일
Web IDE (Kotlin Playground)
학습을 위한 용도라면 PC에 개발 환경을 구성하지 않고서 온라인 IDE을 이용하여 간단한 코드 예제를 컴파일하여 실행할 수 있다.
참고 사이트
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2024. Jay Park All rights reserved.
'Study > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 리스트/배열 (0) | 2024.07.02 |
---|---|
[Kotlin] 코틀린 문자열 (0) | 2024.07.02 |
[Kotlin] 코틀린 Null Safety (0) | 2024.07.02 |
[Kotlin] 코틀린 자료형 / 변수 / 상수 / 연산자 (0) | 2024.07.02 |
[Kotlin] 코틀린 시작하기 (0) | 2024.06.30 |