[코틀린인액션] 코틀린 기초(1)

코틀린의 특성

  1. 자바와 호환
    1. 기존 자바 프로젝트에 코틀린 코드를 쉽게 통합가능
    1. 자바와 완벽하게 호환
  1. 간결
    1. 자바보다 더 적은 코드로 같은 기능을 구현할 수 있음
    1. 생산성 증대
  1. 안전
    1. NULL SAFE 하다
    1. NPE 방지에 진심이다
  1. 함수형 프로그래밍 지원

정적 타입 지정 언어입니다.

장점

  1. 성능
    1. 메서드 호출이 빠름
    1. 실행 시점에 어떤 메서드를 호출할지 결정하는 과정이 필요없어짐
  1. 신뢰성
    1. 컴파일러가 프로그래의 정확성을 검증함
    1. 실행 시 오류로 중단될 가능성이 적음
  1. 유지 보수성
    1. 코드에서 다루는 객체의 타입을 알 수 있기에 코드 이해가 쉬움

코틀린 타입 추론

  • 타입 추론을 지원한다
  • 이는 자바에서도 var 로 존재하긴 했었지만, 타입이 드러나지 않는다는 점에 호불호가 갈렸음
	var x = 1 <- x 의 타입이`Int` 임을 자동으로 유추함

코틀린 타입 시스템 특징

  • 널 타입 검증
    • 널 타입 지원
    • 컴파일 시점에 NPE 가능성 검사 가능
  • 함수 타입
    • 함수를 일급 객체로 취급
      • 일급 객체 ??
        • 숫자 ,문자열, 배열 등을 원래 의미했지만
        • 함수형 프로그래밍에서는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달, 함수에서 반환값으로 사용가능
        fun square(n: Int) = n * n
        
        val mySquareFunction = ::square
        val result = mySquareFunction(5)  // 함수 호출
        • 위 같이 함수를 mySquareFunction 에 담아서 호출이 가능해짐

Uploaded by N2T