그 동안 자바로만 공부를 해왔는데 코틀린에 관심이 생기게 되어서 공부하게 되었습니다.
간단하게 코드를 작성하며 호기심을 가지게 된 내용, 자바와 다른 점에 대해서 정리하였습니다.
주기적으로 새로운 내용이 추가되면 업데이트 하도록 하겠습니다.
()
와 {}
의 변수()
안에 선언되는 변수는 생성자로 객체를 만들 때 반드시 필요한 값 입니다.{}
안에 선언되는 변수는 생성자로 객체를 만들 때 값이 필요는 없지만 기본값이 필요합니다.extends
, implement
자바에서는 extends
와 implement
를 사용하였지만 코틀린에서는 다음과 같은 방식을 사용합니다.
open class OpenClass {
}
interface Inter {
}
class Base() : OpenClass(), Inter {
}
extends
가능한 클래스는 클래스 예약어 앞에 extends
를 허용한다는 뜻으로 open
을 작성해야 합니다.
그리고 extends
하는 방법은 ${클래스 명}()
와 같이 작성합니다. 자바와 동일하게 단 하나만 가능합니다.
implement
는 인터페이스를 구현하도록 할 수 있습니다. 하는 방법은 ${인터페이스 명}
와 같이 작성합니다. 자바와 동일하게 여러개 가능합니다.
val
와 var
코틀린에서는 val
와 var
로 변수를 선언합니다.
val
: value 를 뜻하며 변경 불가능 합니다. 처음 생성될 때 값을 초기화 한 후 그 이후로는 읽기만 가능합니다.var
: variable 를 뜻하며 변경 가능합니다. 값을 초기화 한 후 그 이후로 수정 및 읽기가 가능합니다.interface DataBase<T> {
fun save(value: T): T
fun findById(id: Int): T?
}
인터페이스의 반환값이 null
일 수 있다면 ?
를 붙여줍니다.
Java 에서는 static
을 사용하여 정적 변수, 메서드를 작성하지만 코틀린에서는 companion object
를 사용하여 정적 변수 및 메서드를 작성합니다.
하나의 파일에 단 한개의 companion object
만 존재해야 하며 해당 영역 안에 여러개의 변수 및 메서드를 작성할 수 있습니다.