본문 바로가기
iOS/Swift

[Swift] 기본 연산자(Basic Operators)

by Dev.Andy 2023. 4. 6.

📌 용어(Terminology)

1. 단항 연산자(Unary Operator)

단일한 항목(single targets)에 작동하는 연산자. 접두사(prefix)와 접미사(postfix)로 나누어짐.

var a, b, c
-a
b
c!

2. 이항 연산자(Binary Operator)

2개의 항목(two targets)에 작동하는 연산자. 2개의 항목 사이에 위치해야 하므로 모두 삽입사(infix)에 해당함.

3 + 5
4 - 9

3. 삼항 연산자(Ternary Operator)

3개의 항목(three targets)에 작동하는 연산자. 스위프트에서는 '삼항 조건 연산자(ternary conditional operator)'라는 오직 하나의 삼항 연산자만 갖고 있다.

a ? b : c  // condition ? true : false

📌 대입 연산자(Assignment Operator)

var guestOrder = 3  // 3
let maximumOrder = 7  // 7

1. 일반적인 대입

대입 연산자 우항의 변수 값을 좌항 변수의 값으로 초기화/업데이트 한다.

guestOrder = maximumOrder  // 7

2. 튜플의 대입

우항의 변수 개수가 여러 개의 값이 있는 튜플이라면, 튜플의 각각의 요소는 여러 개의 상수나 변수로 각각 대입 된다.

var (x, y) = (2, 4)
x * y  // 8

📌 3. 산술 연산자(Arithmetic Operators)

1. 덧셈

10 + 4  // 14

덧셈의 경우 숫자뿐 아니라 문자열의 연결(String concatenation)도 지원한다.

"String " + "concatenation." // "String concatentation"

2. 뺄셈

10 - 4  // 6

3. 곱셈

10 * 4  // 40

4. 나눗셈

나눗셈의 경우 타입 추론(type inference)에 의해 정수일 경우 정수를, 실수일 경우 실수를 반환한다.

10 / 4  //  2
10.0 / 4.0  //  2.5

📌 4. 나머지 연산자(Remainder Operator)

나머지 연산자는 좌항 변수 값에 들어갈 우항 변수 값의 배수가 몇인지 계산하고, 남은 값(즉 나머지, remainder)를 반환한다.

21 % 4  // 1

주의) 나머지(remainder) 연산자는 모듈로(modulo) 연산자와 계산 방법에서 차이가 있어 혼동하면 안된다. 나머지 연산에서는 양수든 음수든, 절댓값이 같지만 모듈로는 서로 다르다.

-21 % 4     -> -21 == 4 * -5 + '-1' // -1
-21 % -4    -> -21 == -4 * 5 + '-1' // -1

-21 (mod) 4 -> -21 + 4 * 6 == '3'  // 3
-21 (mod) -4 -> -21 + -4 * -5 == '-1'  // -1

댓글