일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Immutable
- FunctionalInterfaces
- ApplicationContext
- lambda
- 컴퓨터시스템
- 링킹
- springwebmvc
- String
- 빌드툴
- 토비의스프링3.1
- IOC
- DesignPattern
- 프록시
- 자바
- JPA
- hibernate
- 클린코드
- springboot
- AutoConfiguration
- 링커
- java
- exception
- gradle
- 토비의스프링
- beanfactory
- DispatcherServlet
- Spring
- 메이븐
- Kotlin for Java Developers
- ORM
- Today
- Total
엔지니어로 가는 길
[Kotlin for Java Developers] 코틀린 소개 본문
코세라에 있는 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)도 존재한다. 이와 같이 여러 플랫폼에서 코틀린을 통해 개발할 수 있도록 만든 궁극적인 목표는 코틀린이라는 하나의 언어로 풀스택 애플리케이션을 만들 수 있도록 하기 위함이다. 나아가 서로 다른 플랫폼에서 특정 비즈니스 로직이나 공통 코드를 공유할 수 있도록 하기 위함이다.
코틀린은 자바를 포함한 여러 다른 언어를 참고하여 만들어졌다. 자바의 어떤 점이 불편하고, 어떤 점이 부족한지 고려하여 불편한 점은 고치고, 부족한 점은 채워 만든 게 코틀린이다.
오늘 내용 중 가장 매력적인 코틀린의 특징은 바로 간결성이다. 중간에 굳이 코드를 길게 삽입한 이유는 코드로 봐야 얼마나 간결한지 와닿기 때문이다. 코틀린은 자바보다 훨씬 적은 코드로 같은 로직을 작성할 수 있다!
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin for Java Developers] Nullability (0) | 2022.12.11 |
---|---|
[Kotlin for Java Developers] 확장 함수 (0) | 2022.11.12 |
[Kotlin for Java Developers] 코틀린 기본 (0) | 2022.11.06 |