Development/Swift
[Swift]연산자 메소드 - Operator Method
연산자 오버로딩 - Operator Overloading 이미 존재하는 연산자가 새로운 피연산자를 처리할 수 있도록 확장한다. struct Point { var x = 0.0 var y = 0.0 } let p1 = Point(x: 12, y: 34) let p2 = Point(x: 67, y: 89) p1 == p2 // error : Binary operator '==' cannot be applied to two 'Point' operands == 연산자는 Int, Double, String 등의 다양한 데이터 타입의 동등성을 비교해주는 연산자이다. 하지만 내가 방금 작성한 구조체 Point에 대해서는 == 연산자를 통한 동등성 비교가 가능하지 않다. 따라서 같은 형식의 데이터 간의 연산을 처리하기..
[Swift]Swift가 제공하는 연산자들 - Operators in Swift (2)
비트 연산자 - Bitwise Operators 비트 단위로 연산하는 연산자. 첫 번째 비트를 부호 비트로 사용하는 signed type의 자료형은 비트 연산에 주의해야 한다. 비트 NOT 연산자 - Bitwise NOT Operator 👉 ~a value1 ~value1 0 1 1 0 // unsigned int8 let a : UInt8 = 0b0101_1011 // 91 (0101 1011) let b : UInt8 = ~a // 164(1010 0100) // signed int8 let c : Int8 = 0b0101_1011 // 91 (0101 1011) let d : Int8 = ~c // -92(1010 0100) 비트 AND 연산자 - Bitwise AND Operator 👉 a & b..
[Swift]Swift가 제공하는 연산자들 - Operators in Swift (1)
산술 연산자 - Arithmetic Operators Swift는 데이터 타입에 굉장히 민감한 언어이므로, 연산이 이루어지기 전에 두 피연산자의 데이터 타입 통일이 이루어져야 한다.(형식 안전성 - Type Safety) 산술 연산자 설명 사용 예시 + 덧셈 a + b - 뺄셈 a - b / 나눗셈 a / b % 나머지(정수 간 연산만 가능) a % b 실수 간의 나머지 연산은 truncatingRemainder() 메소드를 사용해야 한다. let c = 12.0 let d = 5.0 c.truncatingRemainder(dividingBy: d) // 2 오버플로우 연산자 - Overflow Operators 다른 C 계열 언어와는 다르게, Swift에서는 오버플로우를 에러로 판단한다. 예를 들어, ..
[Swift]이름 정의 규칙 - Camel Case
스위프트가 사용하는 이름 정의 규칙은 'Camel Case'임. Camel Case에 따라 이름을 정의하면 낙타 등에 있는 혹처럼 올록볼록한 이름이 나오기 때문에 지어진 이름이라고 함. swift에서는 무엇의 이름을 짓느냐에 따라 두가지 정의 방법으로 나뉨. 1) UpperCamelCase 나오는 단어의 첫 글자를 모두 대문자로 써주는 방법. Class(객체), Structure(구조체), Enumeration(열거형), Extension, Protocol 등의 이름을 정의할 때 사용함. 예) Name, BookIndex, MemberNumber, UserStatusCode 등 2) lowerCamelCase 첫 단어를 제외한 모든 단어의 첫글자는 UpperCamelCase처럼 모두 대문자로 써줌 Var..