NoteBook
2021.12.25
val → read-only
var → mutable
변수 출력 → ${변수 명}
expression 과 statement
코틀린은 파일 명과 클래스명이 달라도됨.
반복문
1..2 → 2 포함
1 until 2 → 2 포함 x
1..4 step 2 → 2개씩 건너뛰면서
kotlin에서 보통 ..을 사용하며 다른 언어와 다르게 마지막값을 포함한다.
index와 값을 같이 호출 가능.
ex)
students = arrayListOf(”kim”, “lim”, “lee”)
for ((idx, value) in arraylist.withIndex() ){
println(”${idx} and ${value}”)
}
?
nullable, nonnull → 타입+ ?
?:
엘비스 연산자 → [nullable한 변수 ?: “ㅇㄹㅇㄹ”] → null일 경우 “ “안의 값을 반환하고 null이 아닌 경우 변수의 값을 반환한다.
!!
.let
variable?.let{
prinln(”hello”)
}
→ variable이 null이 아닌경우 let안의 statement를 실행하라.
class
객체 생성시 자바와 달리 new 키워드 생략.
기본 생성자를 선언하는 방법 다름.
생성자를 사용하는 이유는 ? 존재 이유는 ?
init
클래스가 실행될 때 실행할 코드 블럭 선언
주생성자와 부생성자
inheritance(상속)
기본적으로 kotlin class는 final(재 할당 불가)이다. 따라서 상속을 하는 클래스는 open class로 해주어야한다.
extends대신 : 상위 클래스 명() → class Korean : Human() {}
java와 똑같이 클래스의 상속에서는 다중 상속 불가.
overriding
method도 마찬가지로 final이 default이기에 overriding하는 메소드는 open 추가.