🔥 비교 연산자

778자
8분

Swift는 다양한 비교 연산자를 지원합니다. 비교 연산자는 두 값을 비교하고 그 결과를 Bool 타입으로 반환하죠. 자, 이제부터 Swift에서 제공하는 비교 연산자들을 하나씩 살펴보도록 합시다!

Equal to (같음)

== 연산자는 두 값이 같은지를 비교합니다. 두 값이 같으면 true를, 다르면 false를 반환하죠.

let a = 5
let b = 5
let c = 6
 
print(a == b) // true
print(a == c) // false
swift

위의 예제에서 ab는 모두 5로 같은 값이므로 a == btrue를 반환합니다. 반면, ac는 값이 다르므로 a == cfalse를 반환하죠.

Not equal to (같지 않음)

!= 연산자는 두 값이 다른지를 비교합니다. 두 값이 다르면 true를, 같으면 false를 반환합니다.

let x = 10
let y = 20
 
print(x != y) // true
print(x != 10) // false
swift

위의 예제에서 x는 10, y는 20으로 서로 다른 값이므로 x != ytrue를 반환합니다. 반면, x와 10은 같은 값이므로 x != 10false를 반환하죠.

Greater than (큼)

> 연산자는 왼쪽 값이 오른쪽 값보다 큰지를 비교합니다. 왼쪽 값이 더 크면 true를, 작거나 같으면 false를 반환합니다.

let p = 30
let q = 20
 
print(p > q) // true
print(q > p) // false
swift

위의 예제에서 p는 30, q는 20이므로 p > qtrue를 반환합니다. 반대로 q > pfalse를 반환하죠.

Less than (작음)

< 연산자는 왼쪽 값이 오른쪽 값보다 작은지를 비교합니다. 왼쪽 값이 더 작으면 true를, 크거나 같으면 false를 반환합니다.

let m = 7
let n = 12
 
print(m < n) // true
print(n < m) // false
 
swift

위의 예제에서 m은 7, n은 12이므로 m < ntrue를 반환합니다. 반대로 n < mfalse를 반환하죠.

Greater than or equal to (크거나 같음)

>= 연산자는 왼쪽 값이 오른쪽 값보다 크거나 같은지를 비교합니다. 왼쪽 값이 더 크거나 같으면 true를, 작으면 false를 반환합니다.

let r = 15
let s = 15
let t = 10
 
print(r >= s) // true
print(r >= t) // true
print(t >= r) // false
swift

위의 예제에서 rs는 모두 15로 같은 값이므로 r >= strue를 반환합니다. 또한, rt보다 크므로 r >= t 역시 true를 반환하죠. 반면, tr보다 작으므로 t >= rfalse를 반환합니다.

Less than or equal to (작거나 같음)

<= 연산자는 왼쪽 값이 오른쪽 값보다 작거나 같은지를 비교합니다. 왼쪽 값이 더 작거나 같으면 true를, 크면 false를 반환합니다.

let u = 8
let v = 8
let w = 16
 
print(u <= v) // true
print(u <= w) // true
print(w <= u) // false
swift

위의 예제에서 uv는 모두 8로 같은 값이므로 u <= vtrue를 반환합니다. 또한, uw보다 작으므로 u <= w 역시 true를 반환하죠. 반면, wu보다 크므로 w <= ufalse를 반환합니다.

이렇게 Swift에서는 다양한 비교 연산자를 제공하여 값들을 비교할 수 있도록 해줍니다. 이 연산자들은 주로 조건문과 함께 사용되어 프로그램의 흐름을 제어하는 데 활용되죠.

let score = 85
 
if score >= 90 {
    print("당신의 학점은 A입니다.")
} else if score >= 80 {
    print("당신의 학점은 B입니다.")
} else if score >= 70 {
    print("당신의 학점은 C입니다.")
} else if score >= 60 {
    print("당신의 학점은 D입니다.")
} else {
    print("당신의 학점은 F입니다.")
}
// "당신의 학점은 B입니다." 출력
 
swift

위의 예제는 점수에 따라 학점을 출력하는 코드입니다. 비교 연산자를 사용하여 점수를 90, 80, 70, 60과 비교하면서 알맞은 학점을 출력하죠. 이처럼 비교 연산자는 조건에 따라 다른 동작을 하도록 할 때 매우 유용하게 사용됩니다.

튜플 비교

Swift에서는 튜플도 비교할 수 있습니다. 같은 타입이고 같은 개수의 요소를 가진 두 튜플을 비교 연산자로 비교할 수 있죠. 이때 튜플은 왼쪽부터 오른쪽으로 한 요소씩 비교되면서, 다른 값이 나오면 그 두 값을 비교한 결과가 전체 튜플 비교의 결과가 됩니다.

let tuple1 = (10, "apple")
let tuple2 = (10, "banana")
let tuple3 = (15, "apple")
 
print(tuple1 < tuple2) // true
print(tuple1 < tuple3) // true
print(tuple2 < tuple3) // true
swift

위의 예제에서 tuple1tuple2는 첫 번째 요소가 같고 두 번째 요소를 비교하면 "apple"이 "banana"보다 작으므로 tuple1 < tuple2true를 반환합니다.

tuple1tuple3은 첫 번째 요소에서 10이 15보다 작으므로 두 번째 요소는 비교할 필요 없이 바로 tuple1 < tuple3true가 되죠.

마찬가지로 tuple2tuple3도 첫 번째 요소에서 10이 15보다 작으므로 tuple2 < tuple3true를 반환합니다.

단, 튜플 비교시 주의할 점이 있습니다. 비교하려는 연산자가 튜플의 모든 요소에 적용 가능해야만 비교가 가능하다는 거죠. 예를 들어 (String, Int) 타입은 < 연산자로 비교할 수 있지만, (String, Bool) 타입은 Bool 값에 < 연산자를 적용할 수 없으므로 비교가 불가능합니다.

let a = ("apple", 10)
let b = ("banana", 20)
print(a < b) // true
 
let c = ("cherry", true)
let d = ("durian", false)
print(c < d) // 컴파일 에러!
swift

이렇게 Swift의 비교 연산자에 대해 자세히 알아보았습니다. 값을 비교하고 조건에 따라 다른 동작을 하도록 하는 데 매우 유용한 기능이니, 앞으로 여러분이 Swift로 코딩할 때 잘 활용해보시기 바랍니다!