💜 대입 연산자
= : 값 대입
💜 산술 연산자
+, -, *, /, % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지
💜 전개 연산자
val array1 = arrayOf(10, 20, 30)
val list = asList(1, 2, *array1, 100, 200)
list.forEach({println(it)})
val list3 = listOf<String>("a", "b")
some(*list3.toTypedArray())
🖥12102030100200
💜 복합 대입 연산자
+=, -=, *=, /=, %=
💜 증감 연산자
++, --
💜 논리 연산자
&& : AND|| : OR! : NOT
💜 일치 연산자
==, != : 값에 대한 비교===, !== : 객체에 대한 비교
💜 비교 연산자
<, >, <=, >=
💜 범위 연산자
..
💜 Null 안전 관련 연산자
? val a: Int? → a변수를 null 허용
?: A ?: B → A가 null이면 B 실행
?. A?.length → A가 null이면 null, null이 아니면 length
!! A!!B → A가 null이 아닐 때만 B 실행, null이면 예외 발생
📌 연산자 재정의
💜 연산자 재정의 방법
- 재정의하려는 함수 앞에 operator 예약어 추가
💜 연산자 함수
- +a : a.unaryPlus()
- -a : a.unaryMinus()
- !a : a.not()
- a++ : a.inc()
- a-- : a.dec()
- a+b : a.plus(b)
- a-b : a.minus(b)
- ab : a.times(b)
- a/b : a.dev(b)
- a%b : a.rem(b) a.mod(b)(deprecated)
- a..b : a.rangeTo(b)
- a in b : b.contains(a)
- a !in b : !b.contains(a)
- a[i] : a.get(i)
- a[I,j] : a.get(I,j)
- a[i] = b : a.set(I,b)
- a[I,j] = b : a.set(I,j,b)
- a() : a.invoke()
- a(i) : a.invoke(i)
- a(i,j) : a.invoke(I,j)
- a+=b : a.plusAssign(b)
- a-=b : a.minusAssign(b)
- a=b : a.timesAssign(b)
- a/=b : a.divAssign(b)
- a%=b : a.modAssign(b)
- a===b : a?.equals(b) ?: (b===null)
- a!=b : !(a?equals(b) ?: (b===null)
- a>b : a.compareTo(b) > 0
- a<b : a.compareTo(b) < 0