새소식

반응형
250x250
My Study/Kotlin

Study About Kotlin 1

  • -
728x90
반응형

Kotlin

 

Java를 사용하다 보니 Java를 완벽히 대체할 수 있다는 Kotlin이라는 언어에 관심이 갔다.

 

그래서 Kotlin의 기본부터 한번 공부해보기로 했다.

 

Java와 비슷하면서도 많이 다른 Kotlin..

 

 

변수에 관해

 

Java와는 다르게 Kotlin에서는 처음 변수 설정을 할 때에는 var 또는 val을 사용한다.

 

여기서 var와 val의 차이점이 있는데 

var = 변수

val = 상수

의 느낌이 있는 듯 했다.

 

var로 변수를 선언하면 값을 바꿔서 정의를 할 수가 있다.

하지만 val로 변수를 선언하면 초기 선언 이후에 또 다른 값을 정의할 수 없다.

 

또한 타입을 명시하지 않아도 타입이 자동적으로 추론이 된다.

 

Primitive type(기본 유형)과 Reference type(참조 유형)을 구분하지 않는다.

    var name = "홍길동" // var name: String = "홍길동"
    name = "유관순"

    val name1 = "홍길동"
    name1 = "유관순" // name1에 오류 발생 (val은 불변)

 

Null에 관해

 

Kotlin에서는 타입을 명시적으로 작성하지 않아도 된다고 했지만

 

만약 변수에 null이 들어갈 수 있으면 타입을 명시적으로 작성한 뒤에 ?를 붙여줘야 한다.

 

Kotlin은 null이 들어갈 수 있는 타입을 완전히 다른 타입으로 간주하기에 꼭 명시해줘야 한다.

 

또한 Kotlin에는 Safe call, null 아님 단언, Elvis 연산자 등을 사용할 수 있다.

 

Safe call : 변수 뒤에 ?를 붙여 null이 아닐 때만 메소드 호출이 가능하게 한다.  ex) str?.length

 

Elvis 연산자 : Elvis 연산자 앞 연산이 null이면 지정해 준 값으로 반환해준다. ex) str?.length ?: 0

 

null 아님 단언 : 변수 뒤에 !!를 붙여 null이 들어오지 않음을 단언한다. ex) str!!.length

 

var name: String?	// name에는 null이 들어갈 수 있다.

val age : Int? = null	// age에도 null이 들어갈 수 있다.

fun startsWithA1(str: String?): Boolean {
	return str?.startsWith("A") ?: throw IllegalArgumentException("null이 들어왔습니다.")
}

fun startsWithA2(str: String?): Boolean? {
	return str?.startsWith("A")
}

fun startsWithA3(str: String?): Boolean {
	retrun str?.startsWith("A") ?: false
}

fun startsWithA4(str: String): Boolean {
	return str!!.startsWith("A")
}
728x90
반응형

'My Study > Kotlin' 카테고리의 다른 글

Study About Kotlin 6  (0) 2024.03.09
Study About Kotlin 5  (0) 2024.02.28
Study About Kotlin 4  (1) 2024.02.28
Study About Kotlin 3  (0) 2024.02.28
Study About Kotlin 2  (0) 2024.02.28
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.