코틀린: 두 판 사이의 차이
내위키
편집 요약 없음 |
|||
8번째 줄: | 8번째 줄: | ||
data class Customer(val name: String, val email: String, val company: String) | data class Customer(val name: String, val email: String, val company: String) | ||
</source> | </source> | ||
또한 null 값이 들어가도 되는 변수(nullable)와 그렇지 않은 변수를 구분한다. 기본은 nullable이 아니며 nullable로 지정하려면 변수 이름 뒤에 ? 기호를 붙여 줘야 한다. 이로 인해 null 값을 잘못 사용해서 생길 수 있는 문제<ref>이른바 The Billion Dollar Mistake라고 부른다.</ref>를 컴파일 단계에서 더 많이 잡아준다. | |||
<source lang="kotlin"> | |||
var output: String | |||
output = null // Compilation error | |||
val name: String? = null // Nullable type | |||
println(name.length()) // Compilation error | |||
</source> | |||
{{각주}} |
2017년 6월 25일 (일) 08:31 판
Kotlin,
통합 개발환경인 인텔리 J로 유명한 제트브레인에서 내놓은 프로그래밍 언어. 자바 가상머신 위에서 동작하며 자바와 100% 호환된다는 것이 제트브레인 측의 설명이다. 즉 자바가 돌아가는 환경이라면 코틀린도 돌아간다. 그 대표적인 예가 안드로이드로, 지금도 코틀린을 사용해서 안드로이드 프로그래밍을 하는 것이 가능하며 안드로이드 스튜디오 3.0부터는 아예 자바와 함께 코틀린도 지원한다.
특징은 자바에 비해서 훨씬 간결하게 코드를 짤 수 있으며, 현대 프로그래밍의 여러 개념들을 적극 수용했다. 실제로 똑같은 일을 하는 프로그램을 자바와 코틀린으로 짜 보면 코틀린의 코드 양이 훨씬 적다. 예를 들면 아래의 코드는 단 한 줄로 name, email, company 세 개의 필드를 가지고 이에 대한 getters와 setters는 물론 equals(), hashCode(), toString() 그리고 copy()까지 모두 지원하는 POJO 클래스를 정의한다.
data class Customer(val name: String, val email: String, val company: String)
또한 null 값이 들어가도 되는 변수(nullable)와 그렇지 않은 변수를 구분한다. 기본은 nullable이 아니며 nullable로 지정하려면 변수 이름 뒤에 ? 기호를 붙여 줘야 한다. 이로 인해 null 값을 잘못 사용해서 생길 수 있는 문제[1]를 컴파일 단계에서 더 많이 잡아준다.
var output: String
output = null // Compilation error
val name: String? = null // Nullable type
println(name.length()) // Compilation error
각주
- ↑ 이른바 The Billion Dollar Mistake라고 부른다.