← 이전 글 보기 - [Swift/스위프트] 변수와 데이터 타입
연산자는 값을 확인, 변경 또는 결합하는 데 사용하는 특수 기호 또는 구문입니다. Swift에서는 C와 같은 언어에서 이미 지원하는 연산자를 지원하고 더 나아가 편의성을 위한 범위 연산자 등을 지원하여 사용자가 요구하는 결과값을 받을 수 있도록 합니다.
변수, 상수의 값을 초기화하거나 할당해줍니다. (a = b)
var a: Int = 0
let b: Int = 1
print(a, b) // 출력: 0 1
a = b
print(a) // 출력: 1
위의 코드와 같이 a
변수에 0
의 값을 할당하고 b
상수에 1
의 값을 할당하고는 출력해 확인했습니다. 두 변수, 상수 모두 정상적으로 값이 할당되었음을 확인해볼 수 있습니다.
그 후, a
변수에 b
상수 값인 1
을 재할당하여 다시 출력해 보았습니다. 물론, 정상적으로 a
변수에 1
의 값이 재할당되었음을 확인해볼 수 있습니다.
Swift는 모든 숫자 데이터 타입(Int
, UInt
, Float
, Double
)에 대해 4가지 표준 산술 연산자를 지원합니다.
let a: Int = 9
let b: Int = 3
print(a + b) // 출력: 12
print(a - b) // 출력: 6
print(a * b) // 출력: 27
print(a / b) // 출력: 3
위의 코드에선 a
, b
상수에 정수형 값을 할당했고 하단 4줄에 걸쳐 a
와 b
상수에 대한 덧셈, 뺄셈, 곱셈, 나눗셈의 결과값을 출력하였습니다. 물론 UInt
, Float
, Double
데이터 타입에도 동일하게 사용하여 결과값을 구할 수 있습니다.
또한 덧셈 연산자는 문자열 데이터 타입(String
)에 한해 사용이 가능합니다.
let firstName: String = "DD"
let lastName: String = "ang"
print(firstName + lastName) // 출력: DDang
정수형 데이터 타입에 한해서 나머지 연산자를 사용할 수 있습니다. 나눗셈을 할 때 몫과 나머지 두 가지 결과값이 나올 수 있는데 이때 나머지에 대한 값을 구하는 연산자로 활용됩니다. (a % b)
let a: Int = 5
let b: Int = 3
print(a % b) // 출력: 2
코드 해설
-
연산자를 사용하여 숫자형 데이터 타입의 변수 또는 상수의 부호를 전환할 수 있습니다.
let number: Int = 100
print(-number) // 출력: -100
위의 코드에서 number
상수에 100
의 값을 할당하고 단항 음수 연산자를 사용해 부호를 전환하여 -100
의 값을 출력하였습니다.
단항 양수 연산자(+)는 숫자형 데이터 타입의 변수 또는 상수의 값 변경 없이 값을 반환합니다.
let number: Int = -100
print(+number) // 출력: -100
Swift는 할당(=)과 다른 연산을 결합하는 복합 할당 연산자를 지원합니다.
var number: Int = 1
number += 2 // number = number + 2
print(number) // 출력: 3
위의 코드에서 number
상수에 1
의 값을 할당하고 덧셈 할당 연산자(+=
)를 사용하여 2
의 값을 더하였습니다. 그리고 3
의 값을 출력하여 결과값을 확인할 수 있습니다.
이외에도 다양한 복합 할당 연산자가 있으니 글 최하단에 링크[1]를 첨부하겠습니다. 참고해주세요!
Swift에서는 C 또는 다른 언어에서 제공하는 비교 연산자를 모두 지원합니다.
let a: Int = 1
let b: Int = 2
let c: Int = 1
print(a > b) // 출력: false
print(a >= c) // 출력: true
print(a < b) // 출력: true
print(a <= c) // 출력: true
print(a == b) // 출력: false
print(a != b) // 출력: true
연산자는 데이터를 가공하여 새로운 데이터 산출해내 프로그램을 더욱 확장시켜 개발할 수 있습니다.
이외에도 삼항 조건 연산자(Ternary Conditional Operator), nil 통합 연산자(nil-Coalescing Operator), 범위 연산자(Range Operators), 논리 연산자(Logical Operators)가 있으며 남은 연산자는 주로 쓰이는 문법을 포스팅할 때 추가 설명하도록 하겠습니다.