seong_hye, the developer

Swift) 문법 정리 - 연산자 본문

IOS

Swift) 문법 정리 - 연산자

seong_hye 2022. 7. 12.

 

스위프트에서 수학적인 계산은 어떻게 이루어질까?

인간처럼 +,-, x, % 등을 통해 이루어진다.

그리고 우린 이걸 연산자라고 부른다.


연산자에는 어떻게 나눠볼 수 있을까?

 

1. 단항 연산자

단일 대상의 바로 앞(prefix) 또는 바로 뒤(postfix)에 위치하는 연산자

공백 없이 반드시 붙여서 사용한다.

+a, -a. !a, a...

 

2. 이항연산자

스위프트에서 가장 많이 사용하는 형태

두개의 대상에서 가운데(infix) 위치하는 연산자

양쪽에 공백 1칸씩 추가해서 사용하는 것이 일반적

 

var count = 1 + 4
var name = "seong" + "hye"

 

3. 삼항 연산자

코드 내에서의 판단을 간단히 하기 위한 방법

count > 2 ? true : false
[ 조건문 ? 참인 경우의 표현식 : 거짓인 경우의 표현식 ]

그렇다면 연산자에는 어떤 종류들이 있을까?

 

기본 연산자

할당 연산자 ( = )

오른쪽의 결과 값을 왼쪽에 대입하는 연산자

두 개의 피연산자를 받음

(왼쪽 - 값을 할당받는 변수 또는 상수 / 오른쪽 - 할당할 값)

 

var x = 10
var y = 15
x = x! + y
x = y

 

산술 연산자

사칙 연산 등 기본적으로 스위프트에 내장되어 있는 기능을 하는 연산자

대부분 두 개의 피연산자를 받는 이항 연산자

단항 연산자로도 사용 가능하기도 하다

하나의 표현식 안에 여러 개의 연산자를 사용할 수도 있음

** 같은 타입의 데이터끼리만 연산 및 저장 가능 **

연산자 설명 다른 사용 방식
+ 더하기 단항 연산자 ex) +a
- 빼기 단항 연산자 ex) -a
* 곱하기  
/ 나누기  
% 나머지  

 

복합 할당 연산자

표현식을 단순화해서 사용하는 연산자

연산자 설명
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x % = y x = x % y

 

비교 연산자

비교를 수행하는 데 유용한 논리 연산자

비교 결과에 따라 불리언(Boolean) 결과를 반환

두 개의 피연산자를 가지고 작업한다는 점에서 이항 연산자

기호 의미
== 같다
!=  같지 않다
> 크다
< 작다
>= 크거나 같다
<=  작거나 같다

 

논리 연산자

true 또는 false 값을 반환하도록 설계된 소위 논리 연산자

두 개의 피연산자가 필요해서 이항 연산자

논리 연산자 의미
! ~이 아닌 (NOT)
불리언 변수의 현재 값 또는 표현식의 결과를 반전 시킴
|| 또는 (OR) 
두 개의 피연산자 중 하나가 true라고 판단되면 true를 반환하고
두개의 피연산자 중 어느 것도 true가 아니라면 false를 반환
&& 그리고 (AND)
두 개의 피연ㅅ나자 모두 true일 때만 true를 반환

 

접근 연산자 (.)

하위의 개념에 접근하기 위해 사용하는 연산자

점문법. 명시적 멤버 표현식이라고도 불림

Int.random(0...100)
UIButton.setTitle("Hi")

 

범위 연산자

제한된 숫자의 범위를 표기하기 위한 연산자

자체가 특별한 타입을 의미

반복 작업을 할 때 매우 중요

내림차순 형식으로 표기 불가능

폐쇄 범위 연산자 반폐쇄 범위 연산자
1 ... 10
1...
...10
1..<10
..<10
해당 값을 포함하면서 범위를 정의
한 방향은 열리도록 정의하는 것도 가능
뒤의 값을 포함하지 않고 범위를 정의
한 방향은 열리도록 정의하는 것도 가능

 

패턴 매칭 연산자(~=)

오른쪽에 있는 표현식이 왼쪽의 범위에 포함되는 지에 따라 참과 거짓을 리턴하는 연산자

var number = 20
if 10...100 ~= number {
	print("10이상 100이하이다")
}

연산자들의 우선순위는 어떻게 될까?

 

아래로 갈수록 우선순위가 낮음

연산자 의미
* / % 곱하기, 나누기, 나머지
+ - 더하기, 빼기
<=  >  ==  != 크기 비교
&&  || 논리
조건식 ? true일 경우 : false일 경우 삼항
=  +=  -= ... 할당, 복합할당

참고자료)

https://zrr.kr/qNHN

 

앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) 강의 - 인프런

Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을

www.inflearn.com

 

Comments