코드 여행 일기

코틀린의 산수 연산자 본문

kotlin

코틀린의 산수 연산자

할짝개발자 2024. 5. 24. 19:03
728x90
반응형

코틀린(Kotlin)은 그 간결하고 현대적인 문법 덕분에 많은 개발자들 사이에서 인기를 얻고 있습니다.

코틀린을 배우는 과정에서 중요한 개념 중 하나가 바로 산수 연산자입니다.

이번 포스트에서는 코틀린의 산수 연산자와 그 사용 방법에 대해 자세히 알아보겠습니다.


 

기본 산수 연산자

코틀린에서 사용되는 기본 산수 연산자는 다음과 같습니다:

  1. 덧셈 연산자 (+): 두 값을 더합니다.
  2. 뺄셈 연산자 (-): 첫 번째 값에서 두 번째 값을 뺍니다.
  3. 곱셈 연산자 (*): 두 값을 곱합니다.
  4. 나눗셈 연산자 (/): 첫 번째 값을 두 번째 값으로 나눕니다.
  5. 나머지 연산자 (%): 첫 번째 값을 두 번째 값으로 나눈 나머지를 구합니다.

 

예제 코드

각 산수 연산자를 사용하는 간단한 예제입니다:

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 증가시킵니다.
  2. 감소 연산자 (--): 변수의 값을 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 객체끼리 + 연산을 사용할 수 있습니다.

 

복합 대입 연산자

코틀린은 복합 대입 연산자도 지원합니다. 복합 대입 연산자는 산수 연산자와 대입 연산자를 결합한 형태로, 간단하게 값을 계산하고 대입할 수 있습니다.

 

  1. 덧셈 대입 연산자 (+=): a += b는 a = a + b와 동일합니다.
  2. 뺄셈 대입 연산자 (-=): a -= b는 a = a - b와 동일합니다.
  3. 곱셈 대입 연산자 (*=): a *= b는 a = a * b와 동일합니다.
  4. 나눗셈 대입 연산자 (/=): a /= b는 a = a / b와 동일합니다.
  5. 나머지 대입 연산자 (%=): 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
}

 

비교 연산자

코틀린에서 비교 연산자는 두 값을 비교하여 부울 값을 반환합니다. 다음은 코틀린에서 사용되는 기본 비교 연산자입니다:

  1. 같음 연산자 (==): 두 값이 같은지 비교합니다.
  2. 같지 않음 연산자 (!=): 두 값이 같지 않은지 비교합니다.
  3. 크다 연산자 (>): 첫 번째 값이 두 번째 값보다 큰지 비교합니다.
  4. 크거나 같다 연산자 (>=): 첫 번째 값이 두 번째 값보다 크거나 같은지 비교합니다.
  5. 작다 연산자 (<): 첫 번째 값이 두 번째 값보다 작은지 비교합니다.
  6. 작거나 같다 연산자 (<=): 첫 번째 값이 두 번째 값보다 작거나 같은지 비교합니다.

다음 코드는 비교 연산자 예제 코드 입니다.

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
}

 

식별 연산자

코틀린에서 식별 연산자는 두 객체가 동일한 객체인지 비교합니다. 이 연산자는 다음과 같습니다:

  1. 참조 동일성 연산자 (===): 두 객체가 동일한 객체인지 비교합니다.
  2. 참조 동일하지 않음 연산자 (!==): 두 객체가 동일하지 않은 객체인지 비교합니다.

이 연산자는 객체의 메모리 주소를 비교합니다.

 

다음 코드는 식별 연산자 예제 코드 입니다.

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
}

 

논리 연산자

코틀린에서는 논리 연산자를 사용하여 논리적인 조건을 평가할 수 있습니다. 다음은 코틀린에서 사용되는 기본 논리 연산자입니다:

  1. 논리 부정 연산자 (!): 논리값을 반대로 뒤집습니다.
  2. 논리 AND 연산자 (&&): 양쪽 피연산자가 모두 참일 때만 전체 표현식이 참입니다.
  3. 논리 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 연산자를 사용하여 논리적인 조건을 평가합니다.

 

코틀린은 다양한 산수 연산자를 지원하여 기본적인 산수 연산을 간단하게 수행할 수 있습니다.

또한, 연산자 오버로딩, 복합 대입 연산자, 증감 연산자 등을 통해 더욱 편리하고 직관적인 코드를 작성할 수 있습니다.

이 포스트가 코틀린의 산수 연산자를 이해하는 데 도움이 되길 바랍니다. 

728x90
반응형