3. 코틀린 시작하기

3.1 코틀린 언어 소개

  • 표현력과 간결함
  • 안전한 코드
    • nullable, not null
    • 타입뒤에 ?로 표시
  • 자바와의 상호운용성
  • 구조화된 동시성
    • coroutine

코틀린 파일 구성

  • package: 컴파일시 만들어지는 클래스 파일의 경로
    • 같은 package를 사용하면 import 없이 사용가능
  • 자바와 달리 파일명도 클래스명과 일치할 필요 없음

3.2 변수와 함수

  • var말고 val 이라는 키워드도 존재함. 값 할당 후 수정 불가
  • 타입지정 가능
  • 최상위에 선언한 변수나 클래스의 멤버 변수는 선언과 동시에 초기화 해야함
  • 초기화 지연 가능
    • lateinit: var 변수에만 가능. 숫자+Boolean 타입에는 불가
    • lazy
    1
    2
    3
    4
    
    val data4: Int by lazy {
      println("in lazy...")
      10
    }
    
  • 코틀린의 모든 변수는 객체
  • 삼중 따옴표에는 trimIndent()가 자동으로 적용됨
  • Unit 타입: 반환문이 없는 함수에 사용
  • Nothing: null이나 예외를 반환하는 함수

함수 선언하기

  • 함수의 매개변수는 val 키워드가 자동 적용
  • 명명된 매개변수 지원

컬렉션 타입

  • 기초 타입 Array도 별도로 존재

3.3 조건문과 반복문

  • if-else를 표현식(결과값을 반환하는 계산식)으로도 사용 가능
  • when 이라는 조건문도 존재. 마찬가지로 표현식으로 사용 가능
  • for, while이 있고, for 문에서 보통 범위 연산자 in 사용