반응형
이 게시물은 다음 링크를 참조하여 학습했습니다.
1. 함수
Kotlin에서 기본 함수는 아래처럼 사용한다.
Unit은 반환형이 없다는 것을 의미하고 Java에서의 void와 같다.
fun function() : Unit{
}
반환형, 인자가 있을때는 아래처럼 사용하면 된다
fun add(a: Int, b: Int) :Int{
return a+b
}
2. val vs var
val은 Java에서 final키워드를 사용한 것과 같다.
val -> 읽기만 허용
var -> 읽기, 쓰기 허용
3. NonNull / Nullable
3-1. ?
Kotlin에서 변수들은 기본적으로 null값을 허용하지 않는다.
처음에 값을 입력하지 않고 나중에 값을 입력해서 사용할 때 null값을 넣을 상황이 생길수도 있는데, 이럴 때 변수 타입 뒤에 ?를 붙여주면 null값을 넣어줄 수 있다.
var nullName : String? = null
3-2. ?:
엘비스 연산자라고도 하는데, 변수의 값이 null값이면 ?: 뒤의 값을 사용하고, null값이 아니면 입력 받은 값을 사용한다.
val lastName : String? = null
val fullName = name + " " + (lastName?: "No LastName")
3-3. !!
nullable 변수를 사용할 때, null이 아님을 의미한다.
var nullName : String? = null
println(nullName!!)
4. Class
Class는 아래처럼 사용한다.
기존에 Java에서 Class를 만들고, Class이름으로 생성자를 만들었던 것과 다르게 Kotlin에서는 init{ ... }, constructor{ ... }을 통해 생성자를 만들 수 있다.
class Human(val name : String = "Seminzzang"){
// default 생성자
init{
}
// 보조 생성자
constructor(name: String, age: Int) : this(name){
}
fun helloWorld(){
println("Hello World!")
}
}
상속을 할 때는 아래처럼 사용하면 되고, 클래스는 한개만 상속받을 수 있다.
class Korean : Human(){
}
상속 받기 위해서는 아래처럼 상속할 클래스를 open class로 만들어줘야 하며, 클래스의 메서드도 open fun으로 지정해줘야 한다.
open class Human(val name : String = "Seminzzang"){
// default 생성자
init{
}
// 보조 생성자
constructor(name: String, age: Int) : this(name){
}
open fun helloWorld(){
println("Hello World!")
}
}
반응형
'Legacy' 카테고리의 다른 글
[Kotlin #3] Collections (0) | 2022.05.16 |
---|---|
[Kotlin #2] 고급문법 (0) | 2022.05.11 |
[Java#7] Queue, Deque, PriorityQueue (0) | 2022.05.04 |
[Java#6] Stack (0) | 2022.05.04 |
[Java#5] Set, HashSet, TreeSet (0) | 2022.05.03 |