코틀린 소개

강동훈·2022년 6월 29일
0

코세라 강의 Kotlin for Java Developers 를 다시 듣고 있다. 이번에는 정리하면서 들으려고 한다.


강의 소개

  • 코틀린을 배우고 싶은 자바 개발자를 위한 강의
  • Kotlin/JVM(Server & Android) 플랫폼에 대해서만 다룸
  • 자바와 비교했을 때 코틀린이 어떤 점이 새롭고, 어떤 점이 다른지에 초점을 맞춤
  • 영어 강의

What is Kotlin?

  • general-purpose, FP + OOP*

코틀린은 함수형 프로그래밍과 객체지향 프로그래밍을 모두 지원하는 general-purpose 언어이다.

  • open source

JetBrains에 의해 개발된 오픈 소스 프로젝트이다.

  • statically typed language

자바와 마찬가지로 statically typed 언어이나 코틀린에서는 타입을 생략할 수 있다.

  • concise

똑같은 정보를 자바와 코틀린에서 어떻게 표현하고 있는지 보자.

// 예시 1. 자바
public class Person {
    private final String name;
    private final int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public String getAge() {
        return age;
    }
}
// 예시 1. 코틀린
class Person(val name: String, val age: Int)
// 예시 2. 자바
public void updateWeather(int degress) {
    String description;
    Color color;
    if (degrees < 10) {
        description = "cold";
        color = BLUE;
    } else if (degrees < 25) {
        description = "mild";
        color = ORANGE;
    } else {
        description = "hot";
        color = RED;
    }
}
// 예시 2. 코틀린
fun updateWeather(degrees: Int) {
    val (description, color) = when {
        degrees < 10 -> "cold" to BLUE
        degrees < 25 -> "mild" to ORANGE
        else -> "hot" to RED
    }
}
  • safe

코틀린 컴파일러는 더 많은 종류의 에러를 막을 수 있도록 도와주기 때문에 자바보다 안전하다.

  • interoperable

자바와 호환성이 뛰어나다. You can use Kotlin whenever you used Java before

  • tool-friendly

JetBrains은 도구 회사이고, 코틀린은 JetBrains에서 만든 언어이다. 더 설명이 필요 없다.

  • pragmatic

코틀린은 몇몇 아이디어를 실험하기 위한 연구용 프로젝트가 아니다. 산업을 위한 실용적인 언어이다.

  • multi platform

코틀린은 멀티 플랫폼 언어이다. Kotlin/JVM 뿐만 아니라 Kotlin/JS (Kotlin code -> JavaScript), Kotlin/Native (Kotlin code -> Native code)도 존재한다.

이와 같이 여러 플랫폼에서 코틀린을 통해 개발할 수 있도록 만든 궁극적인 목표는 코틀린이라는 하나의 언어로 풀스택 애플리케이션을 만들 수 있도록 하기 위함이다. 나아가 서로 다른 플랫폼에서 특정 비즈니스 로직이나 공통 코드를 공유할 수 있도록 하기 위함이다.


정리

코틀린은 자바를 포함한 여러 다른 언어를 참고하여 만들어졌다. 자바의 어떤 점이 불편하고, 어떤 점이 부족한지 고려하여 불편한 점은 고치고, 부족한 점은 채워 만든 게 코틀린이다. 오늘 내용 중 가장 매력적인 코틀린의 특징은 바로 간결성이다. 중간에 굳이 코드를 길게 삽입한 이유는 코드로 봐야 얼마나 간결한지 와닿기 때문이다. 코틀린은 자바보다 훨씬 적은 코드로 같은 로직을 작성할 수 있다!

profile
안녕하세요, 강동훈입니다.

0개의 댓글