엔지니어로 가는 길

[Kotlin for Java Developers] 코틀린 소개 본문

프로그래밍/Kotlin

[Kotlin for Java Developers] 코틀린 소개

탐p슨 2022. 11. 5. 15:16
728x90

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

 


 

코틀린은 자바를 포함한 여러 다른 언어를 참고하여 만들어졌다. 자바의 어떤 점이 불편하고, 어떤 점이 부족한지 고려하여 불편한 점은 고치고, 부족한 점은 채워 만든 게 코틀린이다.

 

오늘 내용 중 가장 매력적인 코틀린의 특징은 바로 간결성이다. 중간에 굳이 코드를 길게 삽입한 이유는 코드로 봐야 얼마나 간결한지 와닿기 때문이다. 코틀린은 자바보다 훨씬 적은 코드로 같은 로직을 작성할 있다!

728x90
Comments