스위프트에서 연산자는 특정한 문자로 표현한 함수
연산자의 분류
분류 | 설명 | 예 |
단항 연산자 | 피연산자가 한 개인 연산자 | !A |
이항 연산자 | 피연산자가 두 개인 연산자 | A + B |
삼항 연산자 | 피연산자가 세 개인 연산자 | A? B : C |
전위 연산자 | 연산자가 피 연산자 앞에 위치하는 연산자 | !A |
중위 연산자 | 연산자가 피연산자 사이에 위치하는 연산자 | A + B |
후위 연산자 | 연산자가 피연산자 뒤에 위치하는 연산자 | A! |
연산자의 종류
할당 연산자
A = B
A에 B라는 값을 할당
산술 연산자
+ , - , * , / , % 같은 사칙연산
비교 연산자
두 값을 비교할 때 사용
==, >= ,>, != 등의 비교연산
★ "==" 와 "==="의 차이 ★
A == B : A와 B가 같은 값인지 비교하여 불리언 값을 반환
A === B: A와 B가 참조(레퍼런스) 타입일 때,
A와 B가 같은 인스턴스를 가리키는지 비교하여 불리언 값 반환
삼항 연산자
피연산자가 세 개인 삼항 조건 연산자
조건식 ? A : B
조건식이 참이면 A를 거짓이면 B를 반환
삼항 조건 연산자의 사용
var numA: Int = 10
var numB: Int = 100
let resultNum: String = numA < numB ? "NumberA가 작다" : "NumberB가 작다"
print(resultNum)
부울 연산자
블리언 값의 논리 연산
!, $$, || (NOT, AND, OR)
복합 할당 연산자
할당 연산자와 다른 연산자가 하는 일을
한 번에 할 수 있도록 연산자 결합
var numA: Int = 10
var numB: Int = 100
numB += numA
// numB = numB + numA 와 같은 표현
print(numB)
" + " 대신 다른 사칙연산자를 넣으면
해당 사칙 연산자에 맞는 연산한 결과를 할당
기타 연산자
연산자 | 부호 | 설명 |
nil 병합 연산자 | A ?? B | A가 nil이 아니면 A를 반환, A가 nil 이면 B 반환 |
부호변경 연산자 | ~A | A의 부호 변경 |
옵셔널 강제 추출 연산자 | A! | A의 값을 강제로 추출 |
옵셔널 연산자 | A? | A의 값을 안전하게 추출 또는 A의 데이터 타입이 옵셔널임을 표현 |
'Swift' 카테고리의 다른 글
흐름 제어 (switch 구문) (0) | 2024.01.11 |
---|---|
흐름 제어 (if 구문) (0) | 2024.01.10 |
데이터 타입 고급 4편 (열거형 2탄) (1) | 2024.01.08 |
데이터 타입 고급 4편 (열거형 1탄) (0) | 2024.01.07 |
데이터 타입 고급 3편 (컬렉션형) (0) | 2024.01.05 |