🔥 소개

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

채널 보기
NestJS 빌트인 파이프 ParseIntPipe, ParseUUIDPipe 사용하기 | NestJS 가이드
펑터 합성 | 프로그래머를 위한 카테고리 이론
변환 파이프로 컨트롤러 코드 깔끔하게 만들기 | NestJS 가이드
Git Worktree로 여러 피처 동시에 개발하기 | AI 코딩 시대의 필수 스킬
미들웨어 vs 가드, 왜 NestJS에서는 가드가 더 똑똑할까? | NestJS 가이드
입력을 전처리하는 Functor - Contravariant와 contramap 이해하기 | 프로그래머를 위한 카테고리 이론
NestJS 커스텀 예외 만들기 - 에러 처리 깔끔하게 하는 법 | NestJS 가이드
존 매카시가 들려주는 인공지능의 탄생 이야기