코드 여행 일기
코틀린의 산수 연산자 본문
코틀린(Kotlin)은 그 간결하고 현대적인 문법 덕분에 많은 개발자들 사이에서 인기를 얻고 있습니다.
코틀린을 배우는 과정에서 중요한 개념 중 하나가 바로 산수 연산자입니다.
이번 포스트에서는 코틀린의 산수 연산자와 그 사용 방법에 대해 자세히 알아보겠습니다.
기본 산수 연산자
코틀린에서 사용되는 기본 산수 연산자는 다음과 같습니다:
- 덧셈 연산자 (+): 두 값을 더합니다.
- 뺄셈 연산자 (-): 첫 번째 값에서 두 번째 값을 뺍니다.
- 곱셈 연산자 (*): 두 값을 곱합니다.
- 나눗셈 연산자 (/): 첫 번째 값을 두 번째 값으로 나눕니다.
- 나머지 연산자 (%): 첫 번째 값을 두 번째 값으로 나눈 나머지를 구합니다.
예제 코드
각 산수 연산자를 사용하는 간단한 예제입니다:
fun main() {
val a = 10
val b = 5
// 덧셈
val sum = a + b
println("Sum: $sum") // 출력: Sum: 15
// 뺄셈
val difference = a - b
println("Difference: $difference") // 출력: Difference: 5
// 곱셈
val product = a * b
println("Product: $product") // 출력: Product: 50
// 나눗셈
val quotient = a / b
println("Quotient: $quotient") // 출력: Quotient: 2
// 나머지
val remainder = a % b
println("Remainder: $remainder") // 출력: Remainder: 0
}
증감 연산자
코틀린에서는 증감 연산자도 지원합니다. 증감 연산자는 변수의 값을 1씩 증가하거나 감소시킬 때 사용됩니다.
- 증가 연산자 (++): 변수의 값을 1 증가시킵니다.
- 감소 연산자 (--): 변수의 값을 1 감소시킵니다.
증감 연산자는 전위와 후위 두 가지 형태로 사용할 수 있습니다:
- 전위 증감 연산자: 연산자가 변수 앞에 위치합니다. (++a, --a)
- 후위 증감 연산자: 연산자가 변수 뒤에 위치합니다. (a++, a--)
fun main() {
var x = 10
// 전위 증가
println("++x: ${++x}") // 출력: ++x: 11
// 후위 증가
println("x++: ${x++}") // 출력: x++: 11
println("After x++: $x") // 출력: After x++: 12
// 전위 감소
println("--x: ${--x}") // 출력: --x: 11
// 후위 감소
println("x--: ${x--}") // 출력: x--: 11
println("After x--: $x") // 출력: After x--: 10
}
연산자 오버로딩
코틀린에서는 산수 연산자를 오버로딩하여 사용자 정의 타입에 대해 산수 연산을 사용할 수 있습니다. 이를 위해 코틀린은 특정 함수 이름을 사용합니다. 예를 들어, plus 함수는 + 연산자를 오버로딩하는 데 사용됩니다.
다음은 사용자 정의 클래스에 대한 연산자 오버로딩 예제입니다:
data class Point(val x: Int, val y: Int) {
operator fun plus(other: Point): Point {
return Point(x + other.x, y + other.y)
}
}
fun main() {
val p1 = Point(3, 4)
val p2 = Point(2, 7)
val p3 = p1 + p2
println(p3) // 출력: Point(x=5, y=11)
}
이 예제에서 Point 클래스는 plus 함수를 정의하여 + 연산자를 오버로딩합니다.
이제 Point 객체끼리 + 연산을 사용할 수 있습니다.
복합 대입 연산자
코틀린은 복합 대입 연산자도 지원합니다. 복합 대입 연산자는 산수 연산자와 대입 연산자를 결합한 형태로, 간단하게 값을 계산하고 대입할 수 있습니다.
- 덧셈 대입 연산자 (+=): a += b는 a = a + b와 동일합니다.
- 뺄셈 대입 연산자 (-=): a -= b는 a = a - b와 동일합니다.
- 곱셈 대입 연산자 (*=): a *= b는 a = a * b와 동일합니다.
- 나눗셈 대입 연산자 (/=): a /= b는 a = a / b와 동일합니다.
- 나머지 대입 연산자 (%=): a %= b는 a = a % b와 동일합니다.
fun main() {
var a = 10
val b = 5
a += b
println("a += b: $a") // 출력: a += b: 15
a -= b
println("a -= b: $a") // 출력: a -= b: 10
a *= b
println("a *= b: $a") // 출력: a *= b: 50
a /= b
println("a /= b: $a") // 출력: a /= b: 10
a %= b
println("a %= b: $a") // 출력: a %= b: 0
}
비교 연산자
코틀린에서 비교 연산자는 두 값을 비교하여 부울 값을 반환합니다. 다음은 코틀린에서 사용되는 기본 비교 연산자입니다:
- 같음 연산자 (==): 두 값이 같은지 비교합니다.
- 같지 않음 연산자 (!=): 두 값이 같지 않은지 비교합니다.
- 크다 연산자 (>): 첫 번째 값이 두 번째 값보다 큰지 비교합니다.
- 크거나 같다 연산자 (>=): 첫 번째 값이 두 번째 값보다 크거나 같은지 비교합니다.
- 작다 연산자 (<): 첫 번째 값이 두 번째 값보다 작은지 비교합니다.
- 작거나 같다 연산자 (<=): 첫 번째 값이 두 번째 값보다 작거나 같은지 비교합니다.
다음 코드는 비교 연산자 예제 코드 입니다.
fun main() {
val a = 10
val b = 5
println("a == b: ${a == b}") // 출력: a == b: false
println("a != b: ${a != b}") // 출력: a != b: true
println("a > b: ${a > b}") // 출력: a > b: true
println("a >= b: ${a >= b}") // 출력: a >= b: true
println("a < b: ${a < b}") // 출력: a < b: false
println("a <= b: ${a <= b}") // 출력: a <= b: false
}
식별 연산자
코틀린에서 식별 연산자는 두 객체가 동일한 객체인지 비교합니다. 이 연산자는 다음과 같습니다:
- 참조 동일성 연산자 (===): 두 객체가 동일한 객체인지 비교합니다.
- 참조 동일하지 않음 연산자 (!==): 두 객체가 동일하지 않은 객체인지 비교합니다.
이 연산자는 객체의 메모리 주소를 비교합니다.
다음 코드는 식별 연산자 예제 코드 입니다.
fun main() {
val a = "Hello"
val b = "Hello"
val c = a
println("a === b: ${a === b}") // 출력: a === b: true (문자열 리터럴은 동일한 객체를 참조)
println("a !== b: ${a !== b}") // 출력: a !== b: false
println("a === c: ${a === c}") // 출력: a === c: true
}
논리 연산자
코틀린에서는 논리 연산자를 사용하여 논리적인 조건을 평가할 수 있습니다. 다음은 코틀린에서 사용되는 기본 논리 연산자입니다:
- 논리 부정 연산자 (!): 논리값을 반대로 뒤집습니다.
- 논리 AND 연산자 (&&): 양쪽 피연산자가 모두 참일 때만 전체 표현식이 참입니다.
- 논리 OR 연산자 (||): 양쪽 피연산자 중 하나 이상이 참이면 전체 표현식이 참입니다.
다음 코드는 식별 연산자 예제 코드 입니다.
fun main() {
val x = true
val y = false
// 논리 부정
println("!x: ${!x}") // 출력: !x: false
println("!y: ${!y}") // 출력: !y: true
// 논리 AND
println("x && y: ${x && y}") // 출력: x && y: false
// 논리 OR
println("x || y: ${x || y}") // 출력: x || y: true
}
언제 어떤 연산자를 사용할까?
- 기본 산수 연산자: 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산자를 사용하여 기본적인 수학 연산을 수행합니다.
- 증감 연산자: 변수의 값을 1씩 증가 또는 감소시킬 때 사용합니다.
- 연산자 오버로딩: 사용자 정의 클래스에 대해 산수 연산을 정의할 때 사용합니다.
- 복합 대입 연산자: 값을 계산하고 대입하는 작업을 간단하게 할 때 유용합니다.
- 비교 연산자: 두 값을 비교하여 부울 값을 반환할 때 사용합니다.
- 식별 연산자: 두 객체가 동일한 객체인지 확인할 때 사용합니다.
- 논리 연산자: 논리 부정, AND, OR 연산자를 사용하여 논리적인 조건을 평가합니다.
코틀린은 다양한 산수 연산자를 지원하여 기본적인 산수 연산을 간단하게 수행할 수 있습니다.
또한, 연산자 오버로딩, 복합 대입 연산자, 증감 연산자 등을 통해 더욱 편리하고 직관적인 코드를 작성할 수 있습니다.
이 포스트가 코틀린의 산수 연산자를 이해하는 데 도움이 되길 바랍니다.
'코딩 > kotlin' 카테고리의 다른 글
코틀린의 while 문: 기초부터 응용까지 (0) | 2024.05.28 |
---|---|
코틀린의 for 문: 반복 작업의 강력한 도구 (1) | 2024.05.27 |
코틀린의 when 문: 다중 조건 처리의 강력한 도구 (0) | 2024.05.26 |
코틀린의 if 문: 조건문부터 표현식까지 (0) | 2024.05.25 |
코틀린의 val과 var: 무엇을 선택해야 할까? (0) | 2024.05.23 |