🔥 소개

261자
3분

프로그래밍을 하다 보면 값을 확인하고, 변경하고, 조합해야 할 일이 많이 생깁니다. 이럴 때 우리는 연산자라는 특별한 기호나 구문을 사용하게 되는데요. 예를 들어, 덧셈 연산자(+)는 두 숫자를 더해주고, 논리 AND 연산자(&&)는 두 개의 불리언 값을 결합해 줍니다.

swift
let i = 1 + 2 // 덧셈 연산자로 두 숫자를 더함
if enteredDoorCode && passedRetinaScan { // 논리 AND 연산자로 두 불리언 값을 결합
    // 문이 열리는 코드
}
swift
let i = 1 + 2 // 덧셈 연산자로 두 숫자를 더함
if enteredDoorCode && passedRetinaScan { // 논리 AND 연산자로 두 불리언 값을 결합
    // 문이 열리는 코드
}

Swift는 C 언어 등에서 사용되던 연산자들을 지원하면서도, 몇 가지 기능을 개선하여 흔히 발생할 수 있는 코딩 오류를 제거했습니다. 예를 들어, 할당 연산자(=)는 값을 반환하지 않게 하여 동등 연산자(==)를 사용해야 할 때 실수로 사용되는 것을 방지합니다.

또한 산술 연산자(+, -, *, /, % 등)는 값의 오버플로를 감지하고 허용하지 않아, 값의 범위를 초과하는 큰 값이나 작은 값을 다룰 때 예기치 않은 결과가 발생하는 것을 막아줍니다. 물론 필요하다면 Swift의 오버플로 연산자를 사용하여 값 오버플로 동작을 선택할 수도 있습니다.

swift
let a: Int8 = 100
let b: Int8 = 20
 
//let c = a + b // 오류: Int8의 범위를 초과함
 
let c = a &+ b // 오버플로 연산자 &+를 사용하면 오버플로를 허용
print(c) // -116
swift
let a: Int8 = 100
let b: Int8 = 20
 
//let c = a + b // 오류: Int8의 범위를 초과함
 
let c = a &+ b // 오버플로 연산자 &+를 사용하면 오버플로를 허용
print(c) // -116

뿐만 아니라 Swift는 C에는 없는 범위 연산자도 제공하는데요. a..<ba...b처럼 값의 범위를 간결하게 표현할 수 있게 해줍니다.

swift
for i in 1...5 {
    print(i) // 1부터 5까지 출력
}
 
let range = 0..<10
print(range.contains(7)) // true
swift
for i in 1...5 {
    print(i) // 1부터 5까지 출력
}
 
let range = 0..<10
print(range.contains(7)) // true

이 장에서는 Swift에서 일반적으로 사용되는 연산자에 대해 알아보겠습니다. 좀 더 고급 연산자나 사용자 정의 연산자, 사용자 정의 타입에 대한 표준 연산자 구현 등은 고급 연산자 장에서 다룰 예정이에요.

자, 그럼 Swift의 기본 연산자와 함께 알아두면 유용한 팁들을 차근차근 살펴보도록 하죠!

YouTube 영상

채널 보기
투영과 예측, 그리고 선형 결합 | 선형대수학
AI는 데이터를 어떻게 분류할까? 벡터의 거리와 KNN 알고리즘 | 선형대수학
숫자 하나가 AI 모델의 운명을 바꾼다? | 선형대수학
마지막편, 트라이 노드를 50% 이상 줄이는 방법? 압축 트라이 성능 분석 | Trie 자료구조 이야기
벡터의 정의와 덧셈 연산 | 선형대수학
직교성과 벡터 투영 | 선형대수학
행렬의 가장 중요한 연산 - 행렬 곱셈 | 선형대수학
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학