728x90
1. 기본 타입
- 코틀린에서는 선언된 기본값을 보고 타입을 추론한다.
- 자바와 다른 점
- 자바: 더 큰 타입으로의 기본 타입간의 변환은 암시적으로 이루어질 수 있다.
- 코틀린: 기본 타입간의 변환은 명시적으로 이루어져야 한다.
- 코틀린은 타입 변환시 to변환타입() 메서드를 사용해야 한다.
2. 타입 캐스팅
- value is Type
- value가 Type이면, true 반환
- value가 Type이 아니면, false 반환
- value !is Type
- value가 Type이면, false 반환
- value가 Type이 아니면, true 반환
- value as Type
- value가 Type이면,Type으로 타입 캐스팅
- value가 Type이 아니면, 예외 발생
- value ?as Type
- value가 Type이면, Type으로 타입 캐스팅
- value가 null이면, null
- value가 Type이 아니면, null
3. Kotlin의 3가지 특이한 타입
- Any
- 모든 객체의 최상위 타입이다.
- 모든 Primitive Type의 최상위 타입도 Any이다.
- null을 포함하고 싶으면, Any?로 표현한다.
- Any에 equals, hashCode, toString이 존재한다.
- Unit
- 자바의 void와 동일한 역할을 한다.
- void와 다르게 Unit은 그 자체로 타입 인자로 사용이 가능하다.
- 함수형 프로그래밍에서 Unit은 단 하나의 인스턴스만을 갖는 타입을 의미한다. 즉, 코트린의 Unit은 실제로 존재하는 타입이라는 것을 표현한다.
- Nothing
- 함수가 정상적으로 끝나지 않았다는 사실을 표현하는 역할을 한다.
- 무조건 예외를 반환하는 함수, 무한 로프 함수 등에서 사용한다.
4. String Interpolation, String indexing
- String Interpolation
- 문자열 가공시, ${변수}와 여러 줄에 걸친 문자열을 작성해야 할 때는 """ """ 를 사용하면 깔끔한 코딩이 가능하다.
- String indexing
- 문자열에서 문자를 가져올때, [index]를 사용한다.
728x90