xxo' TIL/WIL

IOS/Swift

[Swift] 연산자(Operator)

xxoxec 2025. 6. 14. 17:31
연산자는 값을 확인, 변경 또는 결합하는 데 사용하는 특수 기호 또는 구문입니다.
예를 들어, 덧셈 연산자(+)는 i = 1 + 2와 같이 두 개의 숫자를 더하고 논리적 AND 연산자(&&)는 입력된 DoorCode & & passRetinaScan과 같이 두 개의 불리언 값을 결합합니다.

Swift에서는 산술 연산자(+, -, /, %)와 논리 연산자(&&, ||), 그리고 범위 연산자(a<b, a>b)를 사용할 수 있습니다.

 

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/basicoperators

 

Documentation

 

docs.swift.org

 

할당 연산자(=) : 할당 연산자는 상수는 변수의 값을 초기화 시키거나 변경한다.

b는 상수이고 a는 변수 이므로 a의 값은 3

 

사칙, 산술연산자(arithmetic operator) : 숫자 타입에 대해서는 + , - , * , / 연산 가능,

정수형 숫자 타입에 대해서는 나머지 연산자(%) 연산도 가능

arithmetic operator와 %

 

operator overloading : 연산자는 타입에 따라 연산을 가질 수 있고 구체적으로 + 의 경우, String , array 등 각 타입에 따라 연산됨

타입에 따라 연산

 

compound operator : 연산자를 축약해서 쓸 수 있음.

예:) a = a + 2와 같이 할당 연산(=)과 덧셈 연산(+)이나 뺄셈 연산(-)을 합성해 +=, -= 형태로 축약해서 사용이 가능

var a = 1
a += 2

+=, -=, *=, /= 처럼 축약 사용 가능

 

비교연산자(comparison operator) : 비교 연산자 (==, !=, >, <, >=, <=)를 이용해서 두 값을 비교 할 수 있음.

  • 같다 (a == b)
  • 같지 않다 (a != b)
  • 크다 (a > b)
  • 작다 (a < b)
  • 크거나 같다 (a >= b)
  • 작거나 같다 (a <= b)

두 값을 비교할 때 사용

 

논리 연산자(&&, || ,!) :

  • && 연산자는 논리 AND 연산자라고 하며, 두 피연산자가 모두 참일 경우 조건이 참이 된다.
  • || 연산자는 논리 OR 연산자라고 하며, 두 피연산자 중 하나라도 참일 경우 조건이 참이 된다.
  • ! 연산자는 논리 NOT 연산자라고 하며, 피연산자의 논리 상태를 반전하는 데에 사용한다. 조건이 참이면 논리 NOT 연산자를 거짓으로 만든다. 즉 값의 반대를 반환.

 

삼항 조건 연산자(ternary operator) : 삼항 조건 연산자는 question ? answer1 : answer2의 구조를 갖는다.

조건에 따라 두 값 중 하나를 선택할 때 사용하며, 삼항 조건 연산자는 ? : 형태를 가진다.

그래서 question의 조건이 참인 경우, answer1이 실행되고, 거짓인 경우에는 answer2가 실행된다.

(조건식) ? (조건이 true일 때 동작) : (조건이 false일 때 동작)

삼항연산자를 이용해서 컨디션 확인 및 컨디션에 따른 값 할당이 가능함

 


 

범위연산자 (Range Operators) : Swift에서 특정 범위의 값들을 나타낼 때 사용하는 연산자.

Swift에는 두 가지 주요 범위 연산자가 있다. (Closed Range Operator, Half-Open Range Operator)

보통 array, switch, 반복문에서 활용하며, 내림차순 형식은 표기가 불가하므로 사용에 주의.

// '...' 점 세개를 붙여 범위를 지정
let range = 1...100
let num = -10...10

// let range2 = 100...1 내림차순 형식으로 표기 불가
  • 닫힌 범위 연산자 (Closed Range Operator) : (...) 으로 나타내며 시작 값부터 끝 값까지 포함하는 범위.
var range = 1...10 // 1부터 10이하의 정수
let range2 = ...100 // 100 이하의 정수
let range3 = 50... // 50 이상의 정수
  • 반 닫힌 범위 연산자 (Half-Open Range Operator) : (..<) 으로 나타내며 시작 값부터 끝 값 이전까지 포함하는 범위.
var range = 1..<10 // 1부터 10미만의 정수
let range2 = ..<100 // 100 미만의 정수
// let range3 = ..< 40 // 중간에 공백이 있으면 오류 발생