728x90
Swift 고급 연산자 (Advanced Operators)
Swift는 기본적인 산술 연산자 외에도 다양한 고급 연산자를 제공합니다. 이러한 연산자들은 조건 검사, 범위 처리, 논리 연산, 비트 연산 등을 보다 간결하고 효율적으로 수행할 수 있도록 돕습니다.
1. 조건부 연산자 (Ternary Operator)
let age = 18
let canVote = age >= 19 ? "투표 가능" : "투표 불가능"
print(canVote) // "투표 가능" 출력
2. 범위 연산자 (Range Operators)
let numbers = [1, 2, 3, 4, 5]
for number in 1...3 {
print(number) // 1, 2, 3 출력
}
for number in numbers[2..<5] {
print(number) // 3, 4 출력
}
3. 논리 연산자 (Logical Operators)
let x = 10
let y = 20
let result = (x > 5) && (y < 30)
print(result) // true 출력
let swiftIsAwesome = true
let objectiveCIsDead = false
let bothAreTrue = swiftIsAwesome && objectiveCIsDead
print(bothAreTrue) // false 출력
let eitherIsTrue = swiftIsAwesome || objectiveCIsDead
print(eitherIsTrue) // true 출력
4. 비트 연산자 (Bitwise Operators)
let a: UInt8 = 0b00110101
let b: UInt8 = 0b00110011
let andResult = a & b // 0b00110001
let orResult = a | b // 0b00110111
let xorResult = a ^ b // 0b00000110
let notResult = ~a // 0b11001010
let leftShiftResult = a << 2 // 0b11010100
let rightShiftResult = a >> 2 // 0b00001101
5. 기타 고급 연산자
- nil coalescing operator (??): 옵셔널 값이 nil인 경우 기본값을 반환합니다.
- *assignment operators (+=, -=, =, /=): 기존 값에 연산 결과를 더하거나 빼거나 곱하거나 나누고 대입합니다.
- stride operator (...): 특정 간격으로 값을 순환하는 범위를 생성합니다.
- type casting operators (as, as?): 값을 다른 타입으로 변환합니다.
6. 참고 자료
주의: 고급 연산자는 강력한 기능이지만, 잘못 사용하면 예상치 못한 결과를 초래할 수 있습니다. 따라서, 고급 연산자를 사용하기 전에 기본 개념을 잘 이해하고, 적절하게 사용하는 것이 중요합니다. 또한, 복잡한 연산자 조합은 오히려 코드 가독성을 저하시킬 수 있으므로 주의해서 사용해야 합니다.
'개발' 카테고리의 다른 글
Swift 구문 (Statements) (0) | 2024.07.06 |
---|---|
Swift 기본 연산자 (Basic Operators) (0) | 2024.07.05 |
Swift 접근 제어 (Access Control) (1) | 2024.07.05 |
Swift 메모리 안전성 (Memory Safety) (0) | 2024.07.05 |
Swift 자동 참조 카운팅 (Automatic Reference Counting) (0) | 2024.07.05 |