Kotlin 기본 타입 정리
위 inflearn 사이트의 강의 중
새차원, 코틀린(Kotlin)강좌를 기반으로 작성하였습니다.
1. 기본 타입
- 코틀린에서 모든 것은 객체임
- 모든 것에 멤버 함수나 프로퍼티를 호출 가능하다는 의미
2. 숫자
- Java의 숫자형과 거의 비슷하게 처리
- Kotlin에서 숫자는 클래스. Java의 primitive type에 직접 접근 할 수 없음
- Java에서 숫자형이던 char가 kotlin에서는 숫자 형이 아님
3. 리터럴 (Literal)
- 10진수 : 123 (Int, Short)
- Long : 123L
- Double : 123.5, 123.5e10
- Float : 123.5f
- 2진수 : 0b00001011
- 8진수 : 미지원 ( Java : int I = 017; )
- 16진수 : 0X0F
4. Underscore in numeric literals (since 1.1)
- 긴 숫자를 표기할 때 유용
5. Representaion
- Java플랫폼에서 숫자형은 JVM primitive type으로 저장됨
- Nullable이나 제네릭의 경우에는 박싱됨
- 박싱된 경우 idendtity를 유지 하지 않음
6. Explicit Conversions
- 작은 타입은 큰 타입의 하위 타입이 아님, 즉 작은 타입에서 큰 타입으로의 대입이 안됨
- 명시적으로 변환을 해주어야함
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
7. 문자 (Characters)
- Char는 숫자로 취급 되지 않음
8. 배열
- 배열은 Array 클래스로 표현됨
- get, set([] 연산자 오버로딩됨)
- size 등 유용한 맴버 함수 포함
9. 배열 생성
- Array의 팩토리 함수를 이용
- arrayOf() 등의 라이브러리 함수 이용
10. 특별한 Array 클래스
- primitive 타입의 박싱 오버헤드를 없애기 위한 배열
- IntArray, ShartArray, IntArray
- Array를 상속한 클래스같아 보이지만 아님. Array와 같은 메소드와 프로퍼티를 가짐
- size 등 유용한 맴버 함수 포함
11. 문자열
- 문자열은 String 클래스로 표현
- String은 characters로 구성됨
- s[i]와 같은 방식으로 접근 가능 (immutabled이므로 변경 불가)
12. 문자열 리터럴
- escaped string("Kotlin")
> 전통적인 방식으로 Java String과 거의 비슷
> Backslash를 사용하여 escaping 처리
- raw string ("""Kotiln""")
> escaping 처리 필요 없음
> 개행 이나 어떠한 문자 포함가능
'kotlin' 카테고리의 다른 글
[kotlin] anko 라이브러리 설치방법 (0) | 2020.08.31 |
---|---|
[Kotlin] 기본 문법 정리 (0) | 2019.08.08 |