🔥 소개

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 영상

채널 보기
Trie(트라이) 자료구조 원리와 파이썬 클래스 설계 및 구현 | Trie 자료구조 이야기
AI를 위한 선형대수학 - 소개 | 선형대수학
7편, 파이썬으로 구현하는 B-Tree
Trie 자료구조 완전 정복 - 개념부터 시각화까지 | Trie 자료구조 이야기
내적의 기하학적 의미와 코사인 유사도 원리 | 선형대수학
트라이(Trie)에서 단어를 삭제하는 방법 | Trie 자료구조 이야기
AI는 왜 수백 차원의 벡터를 사용할까? 고차원 공간과 행렬 | 선형대수학
Trie 자료구조 완전 정복 - 개념부터 시각화까지 | Trie 자료구조 이야기