일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- tableView
- Observable
- UITextView
- 애니메이션
- Human interface guide
- ios
- clean architecture
- ribs
- Protocol
- Xcode
- 리펙터링
- uitableview
- uiscrollview
- UICollectionView
- map
- combine
- swiftUI
- rxswift
- Clean Code
- 스위프트
- RxCocoa
- HIG
- swift documentation
- 클린 코드
- MVVM
- Refactoring
- 리펙토링
- SWIFT
- 리팩토링
- collectionview
- Today
- Total
목록상속 (3)
김종권의 iOS 앱 개발 알아가기
Protocol 지향 프로그래밍이란? 특정 기능이 필요하여 기능을 구현하려고 할 때, protocol을 먼저 선언해 놓고 그 protocol을 준수하는 구현체를 생성하여 사용 기존 기능을 그대로 사용하면서 새로운 기능을 추가하려고 할 때, 상속보다는 protocol을 사용하여 확장하는 형태로 구현하는 것 Protocol 지향 프로그래밍을 해야하는 이유 DIP (Dependency Inversion Principle): 소스코드 의존성이 구현체에 의존하지 않고 추상(protocol)에 의존하는 것 DIP 구체적인 개념은 이전 포스팅 글 참고 기능제공(=확장성) 확장성이라는 의미는 개발자가 코드를 작성할 때 매우 자연스럽게 사용이 가능 사용하는쪽에서 매우 자연스러움 -> 프로토콜을 준수한다 -> 기능을 준수..
Inheritance 클래스들 간의 상속 관계 superclass(부모), subclass(자식) Base class Base class의미: 다른 클래스에서 상속하지 않는 클래스 class Vehicle { var currentSpeed = 0.0 var description: String { return "traveling at \(currentSpeed) miles per hour" } func makeNoise() { // do nothing - an arbitrary vehicle doesn't necessarily make a noise } } subclassing subclassing: 기존 클래스를 기반으로 새로운 클래스를 만드는 작업 class Bicycle: Vehicle { var h..
1. 특성 - 단일 상속만 지원 ※ protocol은 다중 구현 가능 1 2 3 4 5 6 7 8 import UIKit class C1{ } class C2: C1, UIContentContainer, UIAppearanceContainer{ // 다중 구현한 protocol과 단일 상속한 C1구별 } 2. 오버라이딩 - override키워드 붙임 - 메서드 뿐만 아니라 연산프로퍼티 변수 또한 오버라이딩 가능 - 수정 할 수 있는 변수로 하려면 역시, set키워드 넣을 것 - didSet, willSet이용 가능 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import UIKit class Machine{ var name: String = ..