출처
앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌
앱 12개를 만들며 배우는 Swift4 & iOS11 아이폰 iOS 개발 강좌 - 인프런
Swift4 를 이용해 여러개의 앱을 만들어 보는 iOS 개발강좌 입니다. 기본적인 내용을 빠르게 학습하고, 여러 실용적인 예제들로 지식을 자신을 것으로 만들 수 있는 강좌 입니다. 최대한 빠르고, 효
www.inflearn.com
위치
iBooks > swift 5 검색
Structures and Classes 부분
내용
- 목적 : flexible한 구조 만들기
1. Class(클래스), Structure(구조체)
- property : 상수, 변수 / method : function
- class, structure는 1개의 파일 안에 만들어서 관리한다.
- Class는 상속, 형 변환, Reference Counting 가능
class someClass { } struct someStructure { }
Instance 만들기
- let someRes = Resolution()
2. Property
- stored property : 값을 저장해서 사용
- computed property : 값을 계산해서 사용 (get, set 사용)
Property Observer
- 값이 바뀌면 알려줌
- willSet, didSet 사용
3. Inheritance (상속)
Subclassing
- class Car: Vehicle { }
- Car라는 클래스는 Vehicle 클래스 상속 받음
Override
- 상위 클래스의 method를 재정의(수정) 해서 사용
4. Initialization (초기화)
- 초기값 세팅 필요
Initializer (생성자)
- init() { } 으로 호출
예제
1. Class
class Vehicle { var currentSpeed = 0.0 // initialization. stored property var description: String { return "Traveling at \(currentSpeed) miles per hour" } // computed property func makeNoise() { print("noiseless") } } let someVehicle = Vehicle() // instance 만들기 someVehicle.currentSpeed = 1.0 print(someVehicle.description) someVehicle.makeNoise() // inheritance class Bicycle: Vehicle { var hasBasket = false } let someBicycle = Bicycle() someBicycle.hasBasket = true someBicycle.currentSpeed = 15.0 print(someBicycle.description) print(someBicycle.hasBasket) // inheritance + override class Tandem: Bicycle { var currentNumberOfPassengers = 0 override var description: String { return "Traveling at \(currentSpeed) miles per hour, number of passenger : \(currentNumberOfPassengers)" } } let someTandem = Tandem() someTandem.hasBasket = true someTandem.currentNumberOfPassengers = 2 someTandem.currentSpeed = 22.0 print("Tandem : \(someTandem.description)") // method override class Train: Vehicle { override func makeNoise() { print("Choo Choo") } } let someTrain = Train() someTrain.makeNoise() // override + initialization // init()은 모든 class에 자동으로 생김(Vehicle에도) --> override 해줘야 함 class Car: Vehicle { var gear = 1 override init() { print("Car") } init(newGear: Int) { gear = newGear } } let someCar = Car() let someCar2 = Car(newGear: 5) print(someCar2.gear)
2. Structure
var name = ["Park","Choi","Kim","Lee"] var age = [3,4,5,6] var height = [40,50,60,70] print(name[0], age[0], height[0]) // 불편해! // structure struct Student { var name: String var age: Int var height: Int } var student1 = Student(name: "Park", age: 3, height: 40) // 관리도 호출도 쉽다 var student2 = Student(name: "Choi", age: 4, height: 50) print(student1.name, student1.age, student1.height)
'iOS' 카테고리의 다른 글
[Swift] 스위프트 실전 프로젝트 1. 도서 관리 프로그램 만들기(1) (0) | 2020.07.03 |
---|---|
[Swift] Optional (0) | 2020.07.03 |
[Swift] Enumeration (0) | 2020.07.03 |
[Swift] Function (0) | 2020.07.03 |
[Swift] If, Switch 문 (0) | 2020.07.03 |
댓글