0. About 코틀린
코틀린은 누가 만들었나?
코틀린이라는 프로그래밍 언어는 IntelliJ를 만든 JetBrains라는 회사에서 만들었다.
(그러니까 인텔리제이에서 좋은 기능들을 제공하겠죠?)
Kotlin이라는 이름이 붙은 이유?
Kotlin이라는 이름은 코틀린(Котлин) 섬에서 따왔는데 이는 JetBrains의 R&D 센터가 상트페테르부르크에 있기 때문이라고 한다. 자바도 인도네시아 Jawa라는 섬에서 이름을 따온 것과 유사하다.
Kotlin은 왜 만들었나?
코틀린은 Java와 100% 호환 가능하면서도 현대적이고, 간결하며 안전한 언어를 사용하기 위해 탄생되었다.
JetBrains에서 Java로 작성된 IntelliJ를 유지보수하는 과정에서 어려움을 느껴 개발하게 되었다고 한다.
(개인적으론 자바는 확실히 보일러플레이트 코드가 많다고 생각한다)
간결함을 살리고, 의미 없는 부분을 줄이고, 부수적인 요소를 줄이려고 노력했다고 한다.
Kotlin은 어떻게 동작하나?
코틀린은 Java와 100% 호환 가능하기 때문에 JVM(Java Virtual Machine) 위에서 동작한다.
스칼라를 이전에 써본적이 있는데, 얘도 JVM위에서 작동했다. 코틀린도 마찬가지다.
Kotlin을 주로 쓰는 곳?
다양한 곳에서 사용되도록 넓히려고 하겠지만, 주로 쓰이는 곳은 안드로이드 앱 개발, 스프링 + 코틀린(코프링) 조합의 서버 개발이다.
Kotlin 언어 패러다임
자바처럼 OOP를 기반으로, FP를 지원한다.
Kotlin 라이선스
코틀린은 아파치 2.0 라이선스를 가진 무료 오픈소스이다. (소스코드 공개 의무 X, 상업적 이용 가능)
Kotlin 확장자
.kt
이다
문법적으로 자바와 차이점/공통점 몇 가지 예시
공통점
- 주석 처리는 자바와 동일하다.
- 자바처럼 패키지라는 개념이 있다.
- 별도의 지시어를 붙이지 않으면
public
이다. - Kotlin에서는 함수를 작성할 때
fun
이라는 키워드를 사용한다.
차이점
- Kotlin에서는 Java와 달리, 문장 끝에 세미콜론(;)을 붙이지 않아도 된다
System.out.println()
대신println()
만 작성하여 출력할 수 있다.- Java에서는
타입 변수명
순서로 변수를 선언했지만, 코틀린에서는 타입스크립트와 유사하게변수명: 타입
순서로 선언한다.- Java:
int number = 100;
- Kotlin:
val number: Int = 100
- Java:
- Kotlin에서는 변수, 함수, 클래스 모두 파일 최상단에 선언할 수 있다.
fun main() { println("Hello World") }
Ref) 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide) 강의 | 최태현 - 인프런