KOTLIN 기본문법(1)

도니·2022년 9월 19일
0
post-thumbnail

🤍 KOTLIN 소개

- 2017년 구글에서 안드로이드 공식 언어로 지정

- JVM에 기반을 둔 언어

🤍 KOTLIN의 이점

- 최신 언어 기법을 이용하면 훨씬 간결한 구문으로 프로그램을 작성

- Null Safety를 지원하는 언어

- 자바와 100% 호환

🤍 변수와 함수

- 변수는 val, var 키워드로 선언

- val은 value의 줄임말로, 초기값이 할당되면 바꿀 수 없는 변수를 선언(상수)

- var은 variable의 줄임말로, 초기값이 할당된 후에도 값을 바꿀 수 있는 변수를 선언(변수)

val a:Int = 20 //상수
var b:Int = 10 //변수

텍스트타입 지정과 타입 추론

- 변수명 뒤에는 콜론(:)을 추가해 타입을 명시

- 대입하는 값에 따라 타입을 유추(추론)할 수 있을 때는 생략

val data1:Int = 10
val data2 = 10 //타입 생략 가능

초기값 할당

- 최상위에 선언한 변수나 클래스의 멤버 변수는 선언과 동시에 초기값을 할당해야 하며, 함수 내부에 선언한 변수는 선언과 동시에 초기값을 할당하지 않아도 됨

val data1:Int //오류
val data2 = 10 //성공

fun someFun(){
	val data3:Int
    println("data3 : ${data3}") //오류
    data3 = 10
    println("data3 : ${data3}") //성공
}
class User{
	val data4:Int //오류
    val data5:Int = 10 //성공

초기화 미루기

- lateinit 키워드는 이후에 초기값을 할당할 것임을 명시적으로 선언

- lateinit은 var 키워드로 선언한 변수에만 사용할 수 있음

- Int, Long, Short, Double, Float, Boolean, Byte 타입에는 사용할 수 없음

// 초기화 미루기 : 변수 선언 후 초기화시 null로 선언할 필요가 없을 때 사용
// 1.lateinit : 최상단, 클래스 내부에서 초기화를 미룰 수 있다.(단, 기본 타입은 X)
lateinit var late1: String // 최상단에서 초기화 미루기
class variable{
    //클래스 내부에서 초기화 미루기 
    lateinit var late2: String
}

- by lazy{} 형식으로 선언하며, 소스에서 변수가 최초로 이용되는 순간 중괄호로 묶은 부분이 자동으로 실행되어 그 결과값이 변수의 초기값으로 할당

// 2. by lazy{} : 선언과 동시에 초기화를 해줌
// 호출 시점에서 최초 1회 초기화가 된다. -> 호출 시점에 초기화가 되기때문에 초기화 미루기
val late3: Int by lazy{
    println("in lazy......")
    10
}

메인함수

fun main(){
    late1 = "초기화 미루기 1번 입니다."
    println(late1)

    variable()

    println("in main......")
    println(late3)
    println(late3) // 초기화는 1번만 실행
    println(late3 + 10)
    println(late3 + 20)
}
profile
내가 보려고 만든 벨로그

0개의 댓글