- 코틀린의 변수는 초기값을 보고 타입을 추론하며, 기본 타입들 간의 변환은 명시적으로 이루어진다.
- 코틀린에서는 is, !is, as, as? 를 이용해 타입을 확인하고 캐스팅한다
- Any는 Java의 Object와 같은 최상위 타입이다.
- Unit은 Java의 void와 동일하다
- Nothing은 정상적으로 끝나지 않는 함수의 반환을 의미한다
1.기본타입
- 코틀린에서는 선언된 기본값을 보고 타입을 추론한다
- Java는 기본 타입간의 변환은 암시적으로 이루어질 수 있다.
- kotlin은 기본 타입간의 변환은 명시적으로 이루어져야 한다.
- 코틀린에서 타입 변환을 하기 위해서는 명시적으로 to변환을 사용해야 한다.
fun main() {
val number1 = 3
val number2: Long = number1.toLong()
}
2.타입 캐스팅
Java
public static void printAgeIfPerson(Object obj) {
if (obj instanceof Person) {
Person person = (Person) obj;
System.out.println(person.getAge());
}
}
Kotlin
fun printAgeIfPerson(obj: Any) {
if (obj is Person) {
val person = obj as Person
println(person.age)
print(obj.age) // 이거도 가능 ,
}
}
Any
- Java의 Object 역할 (모든객체의 최상위 타입)
- 모든 Primitive Type의 최상의 타입도 Any이다.
- Any 자체로는 null을 포함할 수 없어 null을 포함하고 싶다면 Any? 로 표현해야 한다
- Any에 equals / hashCode / toString 존재
String interpolation / String indexing
val person = Person("김영환", 40)
println("이름 : ${person.name}")