val question = "변수 테스트"
val answer = 42
val answer: Int = 42
val yearsToCompute = 7.5e6
// 초기화 식을 사용하지 않고 변수를 선언 하려면 변수 타입을 반드시 명시해야한다.
val answer:Int
answer = 42
// 변경 가능한 변수와 변경 불가능한 변수
/*
* val (값을 뜻하는 value 약자) - 변경 불가능한 참조를 저장하는 변수다. (자바로 말하면 final 변수에 해당한다.)
* val 변수는 블록을 실행할 때 정확히 한 번만 초기화 돼야 한다. 하지만 어떤 블록이 실행될 때 오직 한 초기화 문장만 실행됨을 컴파일러가 확인할 수 있다면 조건에 따라 val값을 여러 값으로 초기화 할수있다.
* ex )
* val message :String
* if(canPerformOperation()){
* message = "Success"
* }else{
* message = "Failed"
* }
* val 참조 자체는 불변이더라도 그 참조가 가리키는 내부의 값은 변결 될수 있다.
* ex)
* val languages = arrayListOf("Java") // 불변 참조를 선언
* languages.add("Kotlin") // 참조가 가리키는 객체 내불르 변경한다.
* var (변수를 뜻하는 Variable 약자) - 변경 가능한 참조다. (자바의 일반 변수에 해당한다.)
* var키워드를 사용하면 변수의 값을 변경할 수 있지만 변수의 타입은 고정돼 바뀌지 않는다.
* ex)
* var answer = 42
* answer = "no answer" // 컴파일 오류 발생
*/
/*
* tempFunction : 함수 이름
* (a:Int, b:Int) : 파라미터 목록
* Int : 반환 타입
*/
fun tempFunction(a:Int, b:Int): Int { return 0; }
참고 : Reference Kotlin IN Action - 드미트리 제메로프, 스베트라나 이사코바 지음