분류 전체보기(103)
-
OOP (객체 지향 프로그래밍)
OOP 객체 지향 프로그래밍 - 아니 지난주에 swift는 pop가 짱이라고 안했어? 프로그램에 쓰일 많은 객체를 만들어 놓고, 객체들끼리 상호 작용을 통해서 하나의 프로그램이 만들어지게 하는 방식이다. 객체지향 프로그래밍의 4가지 특성 추상화(추상:여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용.) 객체의 공통적인 속성과 기능을 추출하여 정의하는것 1-1. 자동차 객체 공통 특징: 자동차는 이동 수단 기능이다. 여러 종류의 자동차(세단, SUV)에 공통적으로 적용되는 기본적인 기능(엑셀, 브레이크)을 정의합니다 이런건 어떤 자동차이든 공통적일것이다.(추상!) 이제 각각 구체적인 자동체 객체?에 모델?에 세부적인 구현을 더 할 수있다.(공통적인 부분에 있어 객체를 쓰면 ..
2024.01.08 -
POP(프로토콜 지향 프로그래밍)
POP 코드의 재사용성, 확장성, 유연성 및 유지보수 가능! 사기급 프로토콜! protocol 탈것 { func start() func stop() } struct 차: 탈것 { func start() { print("시작") } func stop() { print("그만") } } 먼저 탈것에 대한 청사진을 정의한다, 구현의 세부사항은 제공하지않는다. 이러한 부분에 대해서는 익스텐션을 통해 진행하거나 채택된 객체에서 구현을 진행해야한다. 채택된 객체는 프로토콜을 준수하는 객체가 되어야 한다. 확장 및 기본 구현 포로토콜 확장을 사용하면 프로토콜 메서드에 대한 기본 구현을 제공 할 수있습니다. 예를 들어 탈것에 대한 프로토콜을 확장하여 start() 메서드에 대한 기본 구현을 포함할 수 있습니다. ext..
2024.01.08 -
ARC
ARC Swift 는 자동 참조 카운팅(ARC)을 사용하여 앱의 메모리 사용량을 추적하고 관리합니다. 자동으로 메모리를 관리해주는 방식입니다. 개발자가 메모리 관리에 신경을 덜 쓸 수있게 편리하게 해준다. 더이상 필요하지 않는 클래스의 인스턴를 메모리에서 해제하는 방식으로 동작합니다. ARC 어떻게 동작해요? 새로운 class인스턴스 생성할때마다, ARC는 해당 인스턴스의 정보를 적재하기 위해 메모리의 chunk를 할당한다. 이 메모리는 인스턴스 타입에 대한 정보를 해당 인스턴스와 관련되어 저장된 프로퍼티들의 값을 함께 포함 하여 유지합니다. 인스턴스가 더이상 필요하지 않게 될때, ARC는 해당 인스턴스에 의해 사용되는 메모리를 해제하고 해제된 해당 메모리는 다른 목적을 위해 사용될 수 있습니다. 클래스..
2024.01.08 -
APPDelegate
APPDelegate - 앱의 공유 동작을 관리하는 메서드 집합체! 12와 13의 차이 - UILifecycle 관리의 차이가 있다. - 12 AppDelegate - 12까지 AppDelegate에서는 UILifecycle까지 관리하였다. - 13 AppDelegate - UILifeCycle은 13이후로 AppDelegate에서 하지않고 Scene Delegate로 이동하여 관리를 진행하게된다. 1. iOS12 까지는 대부분의 앱에 하나의 window였지만 iOS13 부터는 window의 개념이 scene으로 대체되고 하나의 앱에서 여러개의 scene을 가질 수 있습니다. 2. AppDelegate의 역활중 UI상태를 알 수 있는 UILifeCycle에 대한 부분을 SceneDelegate가 하게 되..
2023.12.03 -
ISP: 인터페이스 분리 원칙
- 인터페이스는 클라이언트가 사용하지 않는 메서드에 의존하면 안된다! - 한 인터페이스가 너무 많은 기능을 포함하지 않도록 하는 것을 목표로 하며, 각 클라이언트는 자신이 사용하지 않는 메서드에 영향을 받지 않아야 합니다. - 큰 덩어리의 인터페이스들을 구체적으로 작은 단위들로 분리시켜 클라이언트들이 꼭 필요한 메서드만 사용할 수 있게 해야 함 - 목적은 결합도를 낮추고, 유연성과 확장성을 높이기 위해 사용하기 위해 - 간단한 예 - UITableViewDataSource, UITableViewDelegate의 분리 - 하나만 쓰는경우도 있으니깐? 분리를 잘했다. - 일단 Swift에서는 POP로 통한다 가즈아! POP - POP를 제대로 하기 위해서는 ISP를 제대로 이해하고 습관화 해야함 - 고전적인..
2023.12.03