함수형 프로그래밍은 불변성, 순수함수와 같은 특징을 지닌다. 이런 특징들은 코드 가독성과 예측 가능성을 높여주고, 테스트 코드 작성에 용이하다는 장점이 있다. 또, 이런 특징들은 코드의 부작용이 적고 상태 변이가 없기 때문에 병렬 및 동시성 프로그래밍을 작성할 때 사용
Swift에서는 Auto Reference Counting을 통해 메모리를 관리하는데, 새 클래스 인스턴스가 생성 될 때 ARC는 해당 인스턴스에 대한 정보를 저장할 메모리를 할당한다. 그리고 더이상 해당 인스턴스가 필요 없을 때 메모리에서 할당 해제하여 공간을 차지
제네릭은 타입을 독립적으로 작성할 수 있도록 하는 강력한 기능이다. 제네릭을 사용하게 되면 코드를 더 추상적으로 작성할 수 있고, 이를 통해 같은 로직에서도 다양한 타입으로 작동 가능하게 되어 코드의 재사용성이 높아진다. 또, 컴파일러가 타입을 체크해 주기 때문에 타입
프로토콜 지향 프로그래밍(POP)은 Swift에서 사용하는 강력한 프로그래밍 패러다임 중 하나이다. 여러 프로토콜을 채택할 수 있어 다중 상속과 유사한 특성을 제공한다. 또, 프로토콜은 클래스뿐만 아니라 구조체와 열거형에도 적용 될 수 있다. 이는 값 타임을 강화하고