본문 바로가기

Swift23

[Swift] 15. 프로퍼티 Property 1. 프로퍼티 Property 저장 프로퍼티 (Stored Property) 연산 프로퍼티 (Computed Property) 인스턴스 프로퍼티 (Instance Property) 타입 프로퍼티 (Type Property) 2. 프로퍼티 사용 get : 읽기 전용 (생략가능) get, set : 읽기 쓰기를 모두 하려면 여기서는 get 생략 불가 set 블럭에서 암시적 매개변수 newValue 사용 가능 struct Money { var currencyRate: Double = 1100 var dollar: Double = 0 var won: Double { get { return dollar * currencyRate } set { dollar = newValue / currencyRate } } } .. 2021. 10. 7.
[Swift] 14. 클로저 1. 클로저 Closure 코드의 블럭 일급 시민(first-citizen) 변수, 상수 등으로 저장, 전달인자로 전달이 가능 { (매개변수 목록) -> 반환타입 in 실행 코드 } 예시 // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + b } let sumResult: Int = sum(1, 2) print(sumResult) // 3 2. 다양한 클로저 표현 후행 클로저 : 함수의 마지막으로 전달되는 클로저 클로저의 타입을 유추 가능한 경우 매개변수, 반환타입 생략 가능 반환 값이 있는 경우, 암시적으로 맨 마지막 줄 return 생략 가능 전달인자의 이름이 굳이 필요 없고, 컴파일러가 타입을 유추 가.. 2021. 10. 7.
[Swift] 13. 값 타입, 참조 타입 1. Class 전통적인 OOP 관점에서의 클래스 단일상속 (인스턴스/타입) 매서드 (인스턴스/타입) 프로퍼티 값 타입 Swift는 대부분 큰 뼈대는 구조체 2. Enum Enumeration 유사한 종류의 여러 값을 유의미한 이름으로 한 곳에 모아 정의 열거형 자체(case 값 들)가 하나의 데이터 타입 3. Struct (Enumeration) 연관된 몇몇의 갑들을 모아서 하나의 데이터 타입으로 표현할 때 다른 객체 또는 함수 등으로 전달될 때 참조가 아닌 복사를 할 때 자신을 상속할 필요가 없거나, 자신이 다른 타입을 상속받을 필요가 없을 때 Apple 프레임워크에서 프로그래밍 할 때는 주로 클래스를 사용 Class Struct Enum Type Reference Value Value Subclas.. 2021. 10. 7.
[Swift] 12. 열거형 1. 열거형 enum enum은 타입, 대문자 카멜케이스를 사용하여 이름을 정의 각 case는 소문자 카멜케이스를 사용하여 이름을 정의 각 case는 그 자체가 고유의 값 각 case에 한 줄에 여러 개도 정의 가능 enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ... } enum Abc { case a1 case b1 case c1 case d1, e1, f1, g1 } // 열거형 타입과 케이스를 모두 사용하여도 됩니다 var alpha: Abc = Abc.a1 // 타입이 명확하다면 .케이스 처럼 표현해도 무방합니다 alpha = .b1 print(alpha) // b1 // switch의 비교값에 열거형 타입이 위치할 때 // 모든 열거형 케이스를 포함한.. 2021. 10. 6.