코틀린의 Hello World
fun main(args: Array<String>) {
println("Hello, world!")
}
Kotlin
복사
•
함수는 fun으로 표시
•
파라미터 : 타입
•
함수를 클래스 안에 정의할 필요가 없음
•
자바와 달리 코틀린에는 배열만의 특별한 문법이 없음
•
System.out.println(Java) → println(Kotlin)
•
세미콜론(;)이 없어도 됨
함수(function)
•
함수의 반환형은 파라미터 목록 뒤에 옴(파라미터와 동일)
•
if는 문(statement)가 아니라 식(expresiion)이다 → 값으로 취급할 수 있다
위 함수를 한줄로 만든다면?
fun max(a: Int, b: Int): Int = if (a > b) a else b
// 반환타입 생략 버전
fun max(a: Int, b: Int) = if (a > b) a else b
Kotlin
복사
•
반환타입 생략?: 코틀린의 타입 추론(type inference) 기능 덕분
변수
코틀린의 변수 선언
// value 변수 : 변경 불가능(immutable) => 상수
// 코틀린에서 기본적으로 추천함
val question = "What's wrong?"
val answer = 123
val poet: String = "Let it be forgotten"
val age: Int = 25
// variable 변수 : 변경 가능(mutable)
var changeable = "old"
changeable = "new"
Kotlin
복사
•
변수도 함수의 반환타입처럼 타입추론을 활용해 생략 가능
•
타입도 함수의 파라미터처럼 변수명 뒤에 위치함
문자열 템플릿(string template)
// kotlin
val name = "zero"
println("Hello, $name!")
println("Hello, ${if(age>28) name else "one"}!")
// java
String name = "zero";
System.out.println("Hello, " + name + "!");
Kotlin
복사