존 호프만의 Protocol-Oriented Programming with Swift(스위프트 프로토콜지향 프로그래밍) 1장에 대한 글입니다. 책의 내용을 기본으로 하고 있지만, 개인적으로 많은 고민을 하면서 쓴 글이기 때문에 그런 부분도 반영되어 있습니다. 참고해주세요. Polymorphosm, OOP, POP 객체지향 프로그래밍(OOP)과 프로토콜지향 프로그래밍(POP)을 살펴보기 전에 먼저 짚고 넘어가야 할 핵심개념이 있다. 그것은 바로 Polymorphism(다형성) Polymorphism이란, 간단히 말하면, 같은 인터페이스로 여러 타입과 상호작용할 수 있는 개념이다. (ex) 콜라(캔)와 오렌지주스(플라스틱병) 객체가 각각 있다고 할 때 - Polymorphism 적용 X: if 콜라캔 { 캔..
Robert C. Martin의 Clean Architecture 1부 1, 2장을 읽고 메모한 글입니다. 요약글은 아닙니다. 1장. 설계와 아키텍처란? 일반적으로 설계는 저수준, 아키텍처는 고수준의 구조나 결정사항을 가리킬 때 쓰이는 용어이다. 그러나 설계와 아키텍처 사이에는 근본적인 차이가 없다. 두 가지를 뚜렷하게 구분할 수는 없다. 고수준에서 저수준으로 향하는 의사결정이 연속적으로 이루어진다고 보는 것이 맞다. 소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다. 즉, 비용은 최소화, 생산성은 최대화. 이 사항을 만족할 수 있다면 좋은 설계라고 볼 수 있다. 이런 설계(아키텍처)를 어떻게 할 수 있는지에 대해 앞으로 다룰 것이다. 2장. 두 가지..
Apple 제공 Swift 프로그래밍 가이드(4.2)의 Collection Types 부분을 공부하며 정리한 글입니다. 개인적인 생각, 이해를 돕기 위한 예제도 조금 들어가있습니다. 들어가며Swift 에서는 값을 저장하기 위한 세 가지 Primary Collection type 을 제공합니다. Array, Set, Dictionary 입니다.Array : 넣은 순서대로 저장되는 콜렉션Set : 값이 중복되지 않는 순서없는 콜렉션Dictionary : key-value 관계를 가지는 순서없는 콜렉션 이 콜렉션 타입들 역시 다른 상수 변수와 마찬가지로 type 체크에 엄격합니다. 즉 한번 저장할 값의 type 을 정하면 다른 type 의 값은 저장할 수 없습니다. (따라서 String, Int 같은 각기 다..