Kotlin 뿌시기

Sei Kim·2024년 3월 3일
0

Backend In Action

목록 보기
5/9
post-thumbnail

들어가며


그 동안 자바로만 공부를 해왔는데 코틀린에 관심이 생기게 되어서 공부하게 되었습니다.
간단하게 코드를 작성하며 호기심을 가지게 된 내용, 자바와 다른 점에 대해서 정리하였습니다.
주기적으로 새로운 내용이 추가되면 업데이트 하도록 하겠습니다.

1. (){}의 변수


  • () 안에 선언되는 변수는 생성자로 객체를 만들 때 반드시 필요한 값 입니다.
  • {} 안에 선언되는 변수는 생성자로 객체를 만들 때 값이 필요는 없지만 기본값이 필요합니다.

2. extends, implement


자바에서는 extendsimplement를 사용하였지만 코틀린에서는 다음과 같은 방식을 사용합니다.

open class OpenClass {

}

interface Inter {

}

class Base() : OpenClass(), Inter {

}
  • extends가능한 클래스는 클래스 예약어 앞에 extends를 허용한다는 뜻으로 open을 작성해야 합니다.
    그리고 extends하는 방법은 ${클래스 명}()와 같이 작성합니다. 자바와 동일하게 단 하나만 가능합니다.

  • implement는 인터페이스를 구현하도록 할 수 있습니다. 하는 방법은 ${인터페이스 명}와 같이 작성합니다. 자바와 동일하게 여러개 가능합니다.

3. valvar


코틀린에서는 valvar로 변수를 선언합니다.

  • val : value 를 뜻하며 변경 불가능 합니다. 처음 생성될 때 값을 초기화 한 후 그 이후로는 읽기만 가능합니다.
  • var : variable 를 뜻하며 변경 가능합니다. 값을 초기화 한 후 그 이후로 수정 및 읽기가 가능합니다.

4. null safe


interface DataBase<T> {
    fun save(value: T): T
    fun findById(id: Int): T?
}

인터페이스의 반환값이 null일 수 있다면 ?를 붙여줍니다.

5. companion object 1)


Java 에서는 static 을 사용하여 정적 변수, 메서드를 작성하지만 코틀린에서는 companion object를 사용하여 정적 변수 및 메서드를 작성합니다.
하나의 파일에 단 한개의 companion object 만 존재해야 하며 해당 영역 안에 여러개의 변수 및 메서드를 작성할 수 있습니다.

Ref


  1. [Android Studio] 코틀린의 정적 변수 개념 알아보기 - const, companion object - 공간을담다

0개의 댓글