우아한테크코스

코틀린 이해하기 : [우아한테크코스 5기 AN_베르]

베르_최성훈 2023. 2. 8. 23:38

1. 코틀린이란?

  • JVM, 안드로이드, 자바스크립트 및 네이티브를 대상으로 하는 정적 타입 지정 언어
  • 젯브레인즈에서 개발한 오픈 소스
  • OO, FP 스타일 모두 가능
  • 간결하고 실용적이며 안전하고 기존 언어와의 상호 운용성을 중시한다( + 코루틴 )
  • java 이름의 유래를 오마주하여 kotlin도 섬이름을 따왔다.

 

2. 정적 타입 지정 언어 

  자바와 마찬가지로 코틀린은 정적 타입 지정 언어이다. 정적 타입 지정 언어란 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있어 프로그램 안에서 객체의 필드나 메서드를 사용할 때 마다 컴파일러가 타입을 검증해 준다.

 

즉, 실행하기 전에 컴파일러가 검증해 잘못됨을 감지하여 매우 효율적이다. 인텔리제이와 다르게 안드로이드 스튜디오는 백그라운드에서 컴파일러가 계속 돌면서 체크한다. 

 

 코틀린은 정적 타입 지정 언어로 만들어져 본래 kotlin/js, kotlin/native, kotlin/JVM 세가지 시장을 목적으로 출시 되었지만 현재는 JVM 시장만이 대표적으로 사용되고 있다. 웹은 kotlin/js 대신 타입스크립트가 자리 잡았으며 kotlin 2.0 이 어떻게 나오냐에 따라 kotlin/native의 성공 가능성이 결정될 것이다.

 

 최근 백엔드 에서도 코틀린을 사용한 스프링(이른바 코프링)을 많이 적용하는 추세인데 서버와 안드로이드의 JVM 은 다른 JVM 이다.

 

 

3. 코틀린 기본

var x : Int = 1
var x = 1

->  매개 변수 뒤에 그 매개 변수의 자료형을 쓴다. 

-> 줄 끝에 세미콜론을 사용하지 않는다 

 

fun main(){
	println("Hello!")
}

-> 메소드를 클래스 안에서 정의해야 하는 자바와 달리 함수를 최상위 수준에 정의할 수 있다.

 

변수 선언 시 val 과 var을 사용하여 변수를 선언한다. 

val  : 값이 변경되지 않는 변수에 사용한다. (value)

var : 값이 변경될 수 있는 변수에 사용한다. (variable)