Search
Duplicate
📒

[Kotlin] 01. Kotlin 왜 쓰는가?

상태
수정중
수업
Kotlin Study
주제
기본개념
4 more properties
참고

Kotlin을 왜 사용하는가?

NOTE
코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다.
data class Person( val name: String, val age: Int? = null ) fun main(args: Array<String>) { val person = listOf( Person("Alice"), Person("Bob", age=29) // 이름이 붙는 파라미터 ) val oldest = persoms.maxBy { it.age ?: 0} // 람다식과 엘비스 연산자 println("The oldest is: $oldest"} // 문자열 템플릿 }
Kotlin
복사
간단한 코틀린 코드

코틀린의 주요 특성

NOTE

대상 플랫폼 ⇒ 자바가 지원하는 모든 플랫폼

코틀린의 주요 목적은 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 안전한 대체 언어를 제공하는 것입니다. 코틀린을 활용할 수 있는 가장 일반적인 영역은 다음과 같습니다.
서버 상의 코드
안드로이드 디바이스의 코드
단순히 자바뿐만 아니라, 자바스크립트도 코틀린으로 컴파일할 수 있으며, 코틀린 코드를 웹 브라우저나 노드에서 실행할 수 있습니다.

정적 타입 지정언어 (타입추론)

자바와 동일하게 정적 타입 지정 언어이지만, Kotlin은 컴파일러가 문맥에서 변수 타입을 자동으로 유추해주기 때문에 프로그래머가 타입 선언을 생략할 수 있습니다.
var x = 1 // x를 정수(Int) 값으로 초기화합니다.
Kotlin
복사
정적 타입 지정의 장점은 다음과 같습니다.
성능: 실행 시점에 어떤 메소드를 호출할지 알아내는 과정이 필요 없으므로 호출이 빠릅니다.
신뢰성: 컴파일러가 프로그램의 정확성을 검증하기 때문에 실행 시 오류로 인한 중단 가능성이 적습니다.
유지 보수성: 코드에서 다루는 객체가 어떤 타입에 속하는지 알 수 있습니다.
도구 지원: 안전한 리팩토링과 정확한 코드 완성을 지원할 수 있습니다.

함수형 프로그래밍과 객체지향 프로그래밍

NOTE
함수형 프로그래밍의 핵심 개념은 다음과 같다!
일급 함수
함수를 변수처럼 다룰 수 있습니다.
함수를 변수에 저장하거나, 다른 함수에 인자로 전달하거나, 새로운 함수로 반환할 수 있습니다.
불변성
함수형 프로그래밍은 불변 객체를 사용하여 프로그램을 작성합니다.
부작용 없음
함수형 프로그래밍에서는 입력이 같으면 항상 같은 출력을 반환하며, 다른 객체의 상태를 변경하지 않고 외부 환경과 상호작용하지 않는 순수 함수를 제공합니다.

그러면 코틀린은 어떻게 함수형 프로그래밍을 지원하는 걸까요?

함수 타입을 지원하여 함수를 파라미터로 받거나 반환할 수 있습니다.
람다 식을 지원하여 코드 블록을 쉽게 정의하고 전달할 수 있습니다.
데이터 클래스를 사용하여 불변적인 값 객체를 간편하게 만들 수 있습니다.
코틀린 표준 라이브러리는 객체와 컬렉션을 함수형 스타일로 다루는 API를 제공합니다.
함수를 일반 값(변수)처럼 다룰 수 있다.
함수를 변수에 저장할 수 있고, 함수를 인자로 다른 함수에 전달할 수 있으며, 새로운 함수로 만들어서 반환할 수 있다.