본문 바로가기
책 정리/Kotlin IN ACTION

1. 코틀린이란 무엇이며, 왜 필요한가?

by 이석준석이 2021. 8. 28.


1. 코틀린은 타입 추론을 지원하는 정적 타입 지정 언어다.

  • 정적 타입 지정 언어 : 컴파일러가 컴파일 시점에서 필드나 메소드의 타입을 검증해준다.
  • 타입 추론 : 위의 정적 타입 지정 언어를 기반으로, 컴파일러가 변수의 타입을 결정한다.
// 컴파일러가 typeReference 는 String 타입임을 검증해준다.
val typeInferenceString = "String Type"
val typeInferenceInt = 1

2. 코틀린은 일급 시민 함수를 사용해 추상화가 가능하며, Immutable 하다.

  • 일급 시민 충족요건
    • 함수를 변수에 할당할 수 있어야한다.
    • 파라미터로 함수를 전달할 수 있어야한다.
    • 반환값으로 사용가능해야한다.
  • Immutable
    • 아래 함수의 firstClassFunction(1, 2) 는 항상 3을 반환한다.
fun main() {
    // firstClassFunction 에 함수를 할당하였다.
    val firstClassFunction = fun(a: Int, b: Int): Int {
        return a + b
    }

    // println 의 파라미터로 firstClassFunction 을 전달
    println(firstClassFunction)
    println(firstClassFunction(1, 2))

    // immutable
    assertEquals(3, firstClassFunction(1, 2))
}

3. 코틀린 코드 빌드 과정

  1. 코틀린 컴파일러는 .kt 파일.class(바이트코드) 파일로 변경한다.
  2. .jar 파일로 패키징한다.
  3. 코틀린 런타임 라이브러리와 함께 배포한다.
    • 코틀린은 자바 API 를 확장하여 사용하기 때문에 코틀린 런타임 라이브러리에 의존한다.

kotlin build process from kotlin IN ACTION

 

'책 정리 > Kotlin IN ACTION' 카테고리의 다른 글

4. 클래스, 객체 인터페이스  (0) 2021.09.10
3. 함수 정의와 호출  (0) 2021.08.29
2. 코틀린 기초  (0) 2021.08.28