int intType = 3; // Int
long longType =3L; // Long
Double doubleType = 3.0; // Double
Float floatType = 3.0f // Float
val intType = 3 // Int
val longType = 3L // Long
val doubleType = 3.0 // Double
val floatType = 3.0f // Float
Java
: 기본 타입간의 변환은 암시적
으로 이루어질 수 있다.
int intType = 1;
long longType = intType;
System.out.println(intType + longType);
Kotlin
: 기본 타입간의 변환은 명시적
으로 이루어져야 한다.
val intType = 4
// val longType: Long = intType // 컴파일 오류
val longType: Long = intType.toLong()
println(intType + longType)
nullable
처리val intType: Int? = 4
val longType: Long = intType?.toLong() ?: 0L
println(intType + longType)
public static void getPersonAge(Object obj) {
if (obj instanceof Person) {
Person person = (Person) obj;
System.out.println(person.getAge());
}
if (!(obj instanceof Person) {
System.out.println("object is not Person tpye");
}
}
fun getPersonAge(obj: Any) {
if (obj is Person) { // is == instanceof(java)
val person = obj as Person // 생략 가능, as Person == (Person) in java
println(person.age)
}
if (obk !is Person) {
println("object is not Person tpye")
}
}
nullable
타입fun getPersonAge(obj: Any?) {
if (obj is Person) {
val person = obj as? Person
println(person.age)
}
}
fun fail(message: String): Nothing {
throw IllegalArgumentException (message)
}
Person person = new Person("김태환", 29);
String log = String.format("이름 : %s, 나이 %s 입니다.", pserson.getName(), person.getAge());
StringBuilder builder = new StringBuilder();
builder.append("이름 : ");
builder.append(pserson.getName());
builder.append(", 나이는 : ");
builder.append(person.getAge());
builder.append(" 입니다.");
${변수}
를 사용
val person = Person("김태환", 29)
var log = "사람의 이름은 ${person.name}, 나이 ${person.age} 입니다."
// 변수일 경우 중괄호 생략 가능
val name = "김태환"
val age = 29
log = "사람의 이름은 $name, 나이 $age 입니다."
log = """
사람의 이름은
$name,
니아 $age
입니다.
""".trimIndent()
String str = "김태환";
char ch = str.charAt(1);
val str = "김태환"
val s = str[1]
}
is
,!is
를 이용해 타입을 확인하고 as
,as?
를 사용하여 타입 캐스팅한다.Any
는 java의 Object과 같은 최상위 타입이다.Unit
은 java의 void와 동일하다.Nothing
은 정상적으로 끝나지 않는 함수의 반환을 의미한다.${변수}
와 """ """
을 사용하면 깔끔한 코딩이 가능하다.[]
를 사용한다.