코딩을 하다보면 단순한 숫자 사칙연산 부터 시작해서 , 변수들을 합치거나 비교하는 등의 작업들이 많다.
이러한 작업들을 가능하게 해주는게 연산자(operator) 이다.
주의할 점이 있다면 연산자는 보통 같은 데이터 타입끼리 사용이 가능하다.
만약 서로 다른 두 데이터 타입에 연산자를 사용하려면 타입 캐스팅이라고 해서 한 쪽의 데이터 타입을 바꿔서 둘 다
똑같은 데이터 타입으로 만들어줘야한다.
연산자(operaotr)란
프로그래밍 언어에서 연산자란 수학연산 등의 특정한 작업을 하기 위한 기호를 의미한다.
연산자를 단항 연산자(Unary) , 이항 연산자(binary), 삼항 연산자(ternary) 로 분류하기도 하는데
이름만 어렵지 그냥 피연산자(연산하는 값) 의 개수에 따라 구분한 것이다.
예를들면 다음과 같다.
1. 단항 연산자 예시 : - A
2. 이항 연산자 예시 : A+B
3. 삼항 연산자 예시 : A ? B : C ( A 의 값이 true 이면 B , false 이면 C 를 선택)
결국 연산하는 값 ( A , B, C 의 개수)이 몇 개 인가 구분한 것으로 그렇게 중요한 개념은 아니다 :)
특이한 점이 있다면 Swift에는 삼항 연산자가 위에 예시 하나밖에 없다.
할당 연산자 (Assignment Operator)
번역해서 표현하다보니 이름만 뭔가 복잡하다. 할당 연산자는 이름 그대로 값을 할당하는 연산자로 ( = ) 이다.
연산자 |
사용법 |
설명 |
할당 연산자 ( = ) |
A = B |
A 에 B 의 값을 넣는다 |
산술 연산자 (Arithmetic Operator)
마찬가지로 이름 그대로 산술을 하게 해주는 연산자로 더하기 ( + ), 빼기 ( - ), 곱하기 ( * ), 나누기( / ) 이다.
한가지 추가하자면 나누기의 나머지 값을 반환해주는 나머지 연산자 ( % ) 도 있다.
연산자 |
사용법 |
설명 |
더하기 연산자 ( + ) |
A + B |
A 값에 B 의 값을 더한다 |
빼기 연산자 ( - ) |
A - B |
A 값에 B 값을 뺀다 |
곱하기 연산자 ( * ) |
A * B |
A 값에 B 값을 곱한다 |
나누기 연산자 ( / ) |
A / B |
A 값을 B로 나눈다. |
나머지 연산자 ( % ) | A % B | A 값을 B 로 나눈 나머지 값 |
비교 연산자 (Comparison Operator)
비교 연산자는 비교를 하는 건데 같은지, 다른지, 대소 비교 등을 할 때 사용한다.
비교 연산자는 모두 true / false 로 boolean 값을 반환 한다.
연산자 |
사용법 |
설명 |
같다 ( == ) |
A == B |
A 값과 B 값이 같은가? |
같지 않다 ( != ) |
A != B |
A 값과 B 값이 다른가? |
크다 ( > ) |
A > B |
A 값이 B 값 보다 큰가? |
작다 ( < ) |
A < B |
A 값이 B 값 보다 작은가? |
크거나 같다 ( >= ) |
A >= B |
A 값이 B 값 보다 크거나 같은가? |
작거나 같다 ( <= ) |
A <= B |
A 값이 B 값 보다 작거나 같은가? |
참조가 같다 ( === ) |
A === B |
참조타입 A 와 B 가 같은 인스턴스 인가? |
참조가 같지 않다 ( !== ) | A !== B | 참조타입 A 와 B 가 다른 인스턴스 인가? |
패턴 매치 ( ~= ) | A ~= B | A 와 B 의 패턴이 일치하는가? |
범위 연산자 (Range Operator)
값의 범위를 나타내는 연산자이다. 주로 배열이나 for 문에 쓰인다.
연산자 |
사용법 |
설명 |
닫힌 연산자 ( ... ) |
A...B |
A 이상 ~ B 이하 |
반만 열린 연산자 ( ..< ) |
A..<B |
A 이상 ~ B 미만 |
한방향 연산자 ( ~... ) |
A... |
A 이상 |
한방향 연산자 ( ...~ ) |
...A |
A 이하 |
한방향 연산자 ( ..< ~) |
..< A |
A 미만 |
논리 연산자 (Logical Operator)
논리 연산자는 true / false (boolean) 의 논리 연산 하는 연산자이다.
연산자 |
사용법 |
설명 |
NOT 연산자 |
!A |
A가 true 이면 false, false 이면 true |
AND 연산자 |
A && B |
A 와 B 모두 해당 하는가? |
OR 연산자 |
A || B |
A 나 B 둘 중 하나라도 해당 하는가? |
복합 할당 연산자 (Compound Assignment Operator)
복합 할당 연산자는 할당 연산자인 ( = ) 앞에 추가적으로 연산자를 붙이는 것으로 추가적 연산을 하고 할당까지 해준다.
연산자 |
사용법 |
설명 |
( += ) |
A += B |
A 값과 B 값을 더해서 A 에 할당 |
( -= ) |
A -= B |
A 값에서 B 값을 뺀 값을 A 에 할당 |
( *= ) |
A *= B |
A 값과 B 값을 곱한 값을 A 에 할당 |
( /= ) | A /= B | A 값을 B값으로 나눈 값을 A 에 할당 |
( %=) | A %= B | A 값을 B값으로 나눈 나머지 값을 A 에 할당 |
* 해당 포스팅은 스위프트(Swift)4 버전을 기준으로 하고 있습니다.
* 참고 : https://swift.org/
'IT 정보 로그캣 > Swift' 카테고리의 다른 글
[Swift 공부] 반복문 (0) | 2018.11.11 |
---|---|
[Swift 공부] 조건문 (0) | 2018.11.10 |
[Swift 공부] 컬렉션 타입이란 ? (0) | 2018.11.03 |
[Swift 공부] 튜플(Tuple)이란? (0) | 2018.10.28 |
[Swift 공부]기본 데이터 타입 (자료형) #2 (0) | 2018.10.27 |