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

김신영·2022년 9월 24일
0

kotlin-in-action

목록 보기
1/11
post-thumbnail

목차


Kotlin 주요 특성

  • 정적 타입 (Statically Typed)
    - 신뢰성, 유지보수성, 리팩토링 지원 기능 수월
  • 타입 추론 (type inference) 기능 제공
  • nullable type 지원
    - Null이 될수 있는 타입
    - 컴파일 시점에 Null Pointer Exception 발생 여부를 검사
  • 함수 타입 지원, 함수형 프로그래밍 지원
    - 일급 함수, first-class Function

NOTE: 함수형 프로그래밍 핵심 개념은 아래와 같이 3가지 이다.

함수형 프로그래밍 핵심 개념

- first class 함수
- 함수를 변수에 저장할 수 있다.
- 어떤 함수가 다른 함수를 파라미터로 받거나 함수가 새로운 함수를 반환할 수 있다.

  • 불변성 (Immutability)
    - 내부 상태가 바뀌지 않는 불변 객체
  • Side Effect 없음
    - 입력이 같으면 항상 같은 출력을 내놓고, 다른 객체의 상태를 변경하지 않는다.
    - 함수 외부나 다른 바깥 환경과 상호작용하지 않는 순수 함수 pure function을 사용한다.

Kotlin의 철학

  • 실용성

  • 간결성

  • 안정성

  • NullPointerException 방지

val s: String? = null   // null이 될 수 있음
val s2: String = ""     // null이 될 수 없음
  • ClassCastException 방지
if (value is String)              // Type을 검사한다.
	println(value.toUpperCase())  // 별도의 Cast없이 해당 타입 메서드 사용 가능
  • 상호운용성

Kotlin Compile

# -include-runtime: 코틀린 런타임 라이브러리 포함시키는 옵션
kotlinc main.kt -include-runtime -d ${MODULE_NAME}.jar

Kotlin Koans

코틀린 기본 개념 연습문제 온라인 - Kotlin Koans

profile
Hello velog!

0개의 댓글