Swift 기본연산자 (Basic Operator)

정승호·2022년 6월 2일
0

연산자 분류

  • 단항 연산자(unary) - 피연산자가 한개인 연산자
    예시 : !A
  • 이항 연산자(binary) - 피연산자가 두개인 연산자
    예시 : A + B
  • 삼항 연산자(ternary) - 피연산자가 세개인 연산자
    예시 : A ? B : C
  • 전위 연산자 - 연산자가 피연산자 앞에 위치하는 연산자
    예시 : !A
  • 중위 연산자 - 연산자가 피연산자 사이에 위치하는 연산자
    예시 : A + B
  • 후위 연산자 - 연산자가 피연산자 뒤에 위치하는 연산자
    예시 : A!

**띄어쓰기와 연산자
Swift에서 띄어쓰기는 중요한 문법입니다.
연산자의 앞뒤 둘 중 어디에 공백이 있는지 중요합니다.
A != B와 A! = B는 다른 의미 입니다.
A > B? A : B는 잘못된 사용법이며
A > B ? A : B 처럼 B뒤에 띄어쓰기를 하여 표기해야 합니다.

**피연산자?
1. 피연산자는 처리될 데이터 그 자체를 의미
2. 데이터를 지정하는 컴퓨터 명령어의 일부를 의미
컴퓨터 명령어는 덧셈, 뺄셈 등, 연산을 나타내고, 피연산자는 그 연산의 대상

연산자 종류

할당 연산자 (Assignment Operator)

값을 할당 할 때 사용하는 연산자

A = B
A에 B의 값을 할당한다는 의미
서로 다른 데이터 타입 표기 시 오류 발생

사칙 연산자 (Arithmetic Operators)

덧셈( + ), 뺄셈 ( - ), 곱셈( * ), 나눗셈 ( / )

**문자열을 합치는 것도 가능합니다.

나머지 연산자(Remainder Operator)

A % B 의 나머지 연산

단항 음수 연산자 (Unary Minus Operator)

3, -3, 3(--3)

단항 양수 연산자(Unary Plus Operator)

-3, -3
아무런 영향을 끼치지 않습니다.

합성 할당 연산자 (Compound Assignment Operators)

a = a + 2의 연산을 합성, +=형태로 축약 사용 가능 합니다.

비교 연산자(Comparison Operators)

각 비교연산은 true 혹은 false 값을 반환합니다.

  • 같다 (a == b) <-> 같지않다 (a != b)
  • 크다 (a > b) <-> 작다 (a < b)
  • 크거나 같다 (a >= b) <-> 작거나 같다 (a <= b)
1 == 1   // true
2 != 1   // true
2 > 1    // true
1 < 2    // true
1 >= 1   // true
2 <= 1   // false

참조 비교 연산자 (식별 연산자)

  • 참조가 같다 A === B <-> 참조가 같지 않다 A !== B

A와 B가 참조(레퍼런스) 타입일 때 A와 B가 같은(또는 같지 않은) 인스턴스를 가리키는지 비교, true 혹은 false 값을 반환합니다.

부가 설명
Swift의 유일한 참조 타입인 클래스의 인스터스에서만 참조 연산자를 사용할 수 있습니다.
Swift의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입

값의 비교 연산에는 ( == ) 를 사용
클래스의 인스턴스인 경우에만 ( === ) 를 사용

패턴 매치

  • A ~= B

A와 B의 패턴이 매치되는 지 확인 하여 true 혹은 false 값을 반환합니다.

삼항 조건 연산자(Ternary Conditional Operator)

question ? answer1 : answer2 의 구조

question 조건이 참인경우 answer1, 거짓인 경우 answer2 실행
삼항 조건 연산자는 아래 코드의 축약입니다.

if question {
    answer1
} else {
    answer2
}

예시

삼항 조건 연산자

풀어쓰기

이와 같이 삼항 조건 연산자는 코드를 줄여 가독성을 높여줍니다.

nil 병합 연산자

a ?? b 의 형태

옵셔널 a를 벗겨서 만약 a가 nil 인 경우 b를 반환합니다.
이 nil 병합 연산자는 다음 코드의 축약형입니다.

a != nil ? a! : b

예시

let qqq: Int = www != nil ? www! : 0 

위 코드를 아래처럼 간단하게 쓸 수 있습니다.

let qqq: Int = www ?? 0

범위 연산자 (Range Operators)

값(수)의 범위를 표현하고자 할 때 사용합니다.

폐쇄 범위 연산자 (Closed Range Operator)
표현 : A...B
설명 : A부터 B까지, A와 B를 포함

반폐쇄 범위 연산자 (Half-Open Range Operator)
표현 : A.. <B
설명 : A부터 B미만 까지, A포함 B미포함

단방향 범위 연산자 (One-Side Ranges)
표현 : A... // ...A // .. <A
설명 : A이상의 수 // A이하의 수 // A미만의 수

논리 연산자 (Logical Operators)

  • NOT (!a)
  • AND (a && b)
  • OR (a || b)

논리 부정 연산자 (Logical NOT Operator)

true, false를 서로 반대되는 값으로 바꾸는 연산자입니다.
true는 false으로, false는 true로 변환 됩니다.

표현 하는 방법은 참true 또는 거짓false 앞에 느낌표! 를 넣어 주면 된다.

논리 AND 연산자 (Logical AND Operator)

두 불린 값 모두 true일 경우 true가 되는 연산자입니다.
a && b 의 형태

논리 OR 연산자 (Logical OR Operator)

두 불린 값중 하나만 true여도 true가 되는 연산자입니다.
a || b 의 형태

참고 자료

https://seons-dev.tistory.com/127

https://jusung.gitbook.io/the-swift-language-guide/language-guide/02-basic-operators

https://m.blog.naver.com/badwin/221177227872

0개의 댓글