코틀린 언어 정리 1-8
기본 - operator(연산자)
spread operator( 전개 연산자 )
* (asterisk/별표)
개발을 하다 보면 array를 가변 인자를 통해 전달할 경우 array 각각의 요소를 풀어서 넘겨주어야 하는 경우가 있습니다. 이런 경우 원래는 배열의 요소들을 각각 직접 명시해야 하나 *(spread operator)를 사용하면 간단하게 처리됩니다.
이 연산자는 vararg와 관련하여 사용됩니다. 가변인수를 전달받는 함수에 배열을 전달할 때 편하게 사용할 수 있습니다.
예제 ( 정상 동작 )
예제 ( 컴파일 에러 1 )
위의 예제처럼 vararg 매개변수가 아닌 경우(array 변수) 컴파일 에러가 발생합니다.
예제 ( 컴파일 에러 2 )
위의 예제의 마지막 줄은 문제가 없을 것 같은데 컴파일 에러가 발생합니다. 원인은 Array<Int>와 intArray type이 각각 다른 타입이기 때문입니다.
범위 연산자
.. ( dot / 마침표 2개 )
예제
0부터 10까지의 범위를 표현합니다.( 0과 10이 포함됩니다. )
예제
범위 연산자는 주로 for 문과 같이 쓰입니다.
비트 연산자
C/C++/Java 등에는 비트 연산자를 모두 기호( ex. <<<, >>>, &, | )로 별도로 정의해 놓았으나 코틀린에서는 모두 문자(영어) 이름을 가진 객체 멤버 함수( ex. shl, shr 등 )를 제공합니다. Int와 Long 형 객체 에서만 사용할 수 있습니다.
연산자들
shl(bits) – signed shift left (Java's <<)
shr(bits) – signed shift right (Java's >>)
ushr(bits) – unsigned shift right (Java's >>>)
and(bits) – bitwise and ( & )
or(bits) – bitwise or ( | )
xor(bits) – bitwise xor ( ^ )
inv() – bitwise inversion ( ~ )
'코틀린( Kotlin )' 카테고리의 다른 글
코틀린 2-1 class - 주생성자, 보조생성자 (0) | 2020.04.04 |
---|---|
코틀린 1-9 기본 - operator(연산자) - 연산자 오버로딩 (0) | 2020.04.03 |
코틀린 1-7 기본 - operator(연산자) - 일치, 불일치 연산자 (0) | 2020.04.03 |
코틀린 1-6 기본 - operator(연산자) - null 안전 처리 연산자 (0) | 2020.04.02 |
코틀린 1-5 기본 - 접근 제한자, 예외처리 (0) | 2020.04.01 |