코틀린 개념 정리 5 - 연산자
이번 게시글에서는 코틀린의 연산자에 대한 기본 개념을 정리할 것이다.
산술 연산자
사칙연산을 계산할 때 사용되는 연산자 (+, -, *, /)에 나머지 연산자(%)를 포함하여 산술 연산자라고 부른다.
- 덧셈 연산자 + : 두 수의 덧셈을 구함 ex) a + b
- 뺼셈 연산자 - : 두 수의 뺼셈을 구함 ex) a - b
- 곱셈 연산자 * : 두 수의 곱셈을 구함 ex) a * b
- 나눗셈 연산자 / : 두 수의 나눗셈을 구함 ex) a / b
- 나머지 연산자 % : 두 수의 나눗셈을 수행할 때 나머지를 구함 ex) a % b
대입 연산자
대입 연산자(=)는 변수에 값을 할당하는 연산자이다. 이항 연산자 중 우선순위가 가장 낮기 때문에 다른 이항 연산자의 연산이 모두 수행된 뒤 동작한다.
- = : 오른쪽 항의 내용을 왼쪽 항에 대입함 ex) a = b
- += : 두 항을 더한 후 왼쪽 항에 대입함 ex) a += b
- -= : 왼쪽 항을 오른쪽 항으로 뺀 후 왼쪽 항에 대입함 ex) a -= b
- *= : 두 항을 곱한 후 왼쪽 항에 대입함 ex) a *= b
- /= : 왼쪽 항을 오른쪽 항으로 나눈 후 왼쪽 항에 대입함 ex) a /= b
- %= : 왼쪽 항을 오른쪽 항으로 나머지 연산 후 왼쪽 항에 대입함 ex) a %= b
증감 연산자
증감 연산자는 변수의 값을 1 증가시키거나 감소시키는 연산자이다. 연산자의 위치에 따라 전위 증감 연산자와 후위 증감 연산자로 구분한다.
- 전위 증감 연산자 (++A , --A) : A의 값을 먼저 1 더하거나 빼고 A의 값을 반환한다.
- 후위 증감 연산자 (A++, A--) : A의 값을 먼저 반환한 뒤 1을 더하거나 뺀다.
아래 예제 코드가 있다. 예제를 확인하면 전위 증감 연산자의 경우 출력 전 계산이 먼저 수행되고, 후위 증감 연산자는 출력이 먼저 수행되고 그 후 증감 연산이 수행되는 것을 확인 할 수 있다.
fun main() {
var a = 0
var b = 0
println("증가 연산자")
println("${++a}")
println("${b++}")
println()
println("${a}")
println("${b}")
println()
println("감소 연산자")
println("${--a}")
println("${b--}")
}
비교 연산자
비교 연산자는 두 변수의 값을 비교하고자 할 때 사용된다. 연산 결과가 참일 경우 true를 거짓일 경우 false를 반환한다.
- > : 왼쪽 항이 크면 true, 작으면 false 반환 ex) a > b
- < : 왼쪽 항이 크면 false, 작으면 true 반환 ex) a < b
- >= : 왼쪽 항이 크거나 같으면 true, 작으면 false 반환 ex) a >= b
- <= : 왼쪽 항이 작거나 같으면 true, 크면 false 반환 ex) a <= b
- == : 두 항의 값이 같으면 true, 아니면 false ex) a == b
- != : 두 항의 값이 다르면 true, 아니면 false ex) a != b
- === : 두 항의 참조 값이 같으면 true, 아니면 false ex) a === b
- !== : 두 항의 참조 값이 다르면 true, 아니면 false ex) a -== b
논리 연산자
논리 연산자는 논리식을 다루는 연산자이다. and, or, 그리고 not 연산자가 있다. 연산 결과에 따라 true나 false를 반환한다.
- And 연산자 (&&) : 논리곱. 두 항이 모두 true 일 때 true, 아니면 false ex) a && b
- Or 연산자 (||) : 논리합. 두 항이 모두 false 일 때 false, 아니면 true ex) a || b
- Not 연산자 (!) : 부정 단항 연산자. true일 떄 false, false 일 때 true ex) !a
비트 연산자
비트(bit) 연산자는 기계가 이해하기 쉬운 0과 1을 처리하는데 사용한다. 비트 연산자는 임베디드 시스템 같은 프로그래머가 기기를 직접 제어해야 하는 경우에 유용하게 사용될 수 있다.
코틀린에서 비트 연산자를 아래와 같은 표현식을 통해 사용할 수 있다.
숫자.비트연산식(bits)
- shl 연산자 : 숫자를 bits만큼 왼쪽으로 이동, 오른쪽에 bits 개 만큼 0 추가 (부호 상관 O) ex) 1.shl(1) => 2
- shr 연산자 : 숫자를 bits만큼 오른쪽으로 이동, 왼쪽에 bits 개 만큼 0 추가 (부호 상관 O) ex) 1.shr(1) => 0
- ushr(bits), ushl(bits) : 부호 상관 없는 shl, shr 연산.
- and(bits) : bits와 숫자간 비트 단위 논리곱 연산 수행
- or(bits) : bits와 숫자간 비트 단위 논리합 연산 수행
- xor(bits) : bits와 숫자간 xor 연산 수행
- inv : 숫자의 비트를 모두 뒤집음
참고
1. 위키백과 - 코틀린, 코틀린 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
2. boostcourse - 코틀린 프로그래밍 기본 1 강의 (강사 : 황영덕), 코틀린 프로그래밍 기본 1 > 2-1 기본 자료형과 변수 선언방법 (1) 불변형, 기본형 : 부스트코스 (boostcourse.org)
3. 코틀린 공식 사이트 - Basic syntax | Kotlin (kotlinlang.org)
'안드로이드 > 코틀린 개념' 카테고리의 다른 글
[코틀린 / Kotlin] 코틀린 개념 정리 4 - 자료형 변환 (0) | 2022.06.07 |
---|---|
[코틀린/Kotlin] 코틀린 개념 정리 3 - Null 안전성(Null Safety) (0) | 2022.06.06 |
[코틀린/Kotlin] 코틀린 개념 정리 2 - 자료형과 변수 (0) | 2022.06.03 |
[코틀린/Kotlin] 코틀린 개념 정리 1 - 코틀린이란? (0) | 2022.06.03 |