Kotlin 기초 3

Tadap·2023년 10월 10일

Kotlin

목록 보기
3/6

Class

코틀린도 클래스가 존재한다.

class Name으로 만든다.
만약 파라미터가 필요하면

class Name(val valName: Type, ~){
}

으로 만든다. 이걸 클래스 헤더 라고 한다.
함수의 매개변수처럼 클래스 헤더에도 기본값을 설정할 수 있다.
값이 없으면 기본값이, 있으면 새로운 값이 설정된다.

class Name(val valName: Type = defaultValue, ~){
}
  1. 생성자
    코틀린은 클래스 헤더값을 보고 생성자를 자동으로 생성해 준다.
  2. 값 접근
    클래스 내부 값에 접근은 똑같이 . 을 통해접근 가능하다.
    setter, getter 없이 사용 가능하다.

클래스 내부에도 함수를 선언 가능하다. 똑같이 .을 이용해 접근한다.

DataClass

코틀린에는 데이터 저장에 유용한 데이터 클래스가 있다.
일반 클래스 + 기본 매서드가 추가가 된다.
선언은 data class ~ 로 하면 된다

  1. .toString()
  2. .equals() , ==
  3. .copy()

가 기본적으로 저공된다.
이중 .copy의 경우 뒤에 생성자에 유무에 따라 동일 혹은 일부, 전체가 다른 클래스를 복사 가능하다.

NullSafe

코틀린은 기본적으로 Null로부터 안전하게 설계가 되어 컴파일시에 Null문제를 체크할 수 있다.

먼저 기본적으로 Null이 허용되지 않으나. 만약 허용하고 싶다면 타입 뒤에 ?를 붙인다

var notNull: String
var nullalbe: String?

만약 Null을 허용했어도. 특정 작업을 할 때 Null 오류가 발생 가능하다면 컴파일러가 알려준다.

만약 null이 허용된 값을 호출할려면 ?.을 이용하여 안전하게 호출 가능합니다.

fun lengthString(maybeString: String?): Int? = maybeString?.length

Elvis 연산자

Elvis 연산자는(?:) 만약 null이 감지가 된다면 기본값을 리턴해 주는 연산자 입니다.

fun main() {
    var nullString: String? = null
    println(nullString?.length ?: 0)
    // 0
}

위의 경우 null이 아니라 0이 출력됩니다.

0개의 댓글