1. 비동기 프로그래밍비동기 프로그래밍작업을 동시에 실행하거나, 완료 여부를 기다리지 않고 다음 작업을 수행할 수 있는 프로그래밍 방식iOS에서는 주로 **GCD(Grand Central Dispatch)**와 비동기 메서드를 사용동기 vs 비동기동기(Synchronous): 작업이 완료될 때까지 대기비동기(Asynchronous): 작업 완료를 기다리지 않고 바로 다음 작업 실행GCD의 주요 큐Main Queue: UI 작업을 처리Global Queue: 백그라운드 작업 처리Custom Queue: 사용자 정의 작업 큐🛠 비동기 프로그래밍 예제DispatchQueue.global().async { print("비동기 작업 실행") DispatchQueue.main.async { ..
1. 클로저(Closures)클로저란?코드에서 독립적으로 전달 및 사용할 수 있는 기능을 가진 코드 블록입니다.변수나 상수에 저장 가능하며, 함수의 인자로 전달할 수 있습니다.클로저 문법클로저는 다음과 같은 형태로 작성됩니다.{ (매개변수) -> 반환타입 in 실행 코드}캡처(Capture)클로저는 외부 변수나 상수의 값을 캡처하여 저장합니다.var number = 10let closure = { number += 5 }closure()print(number) // 15🛠 클로저 기본 예제// 기본 클로저let greet = { (name: String) -> String in return "Hello, \\(name)!"}print(greet("Alice")) // "Hello, Alic..
1. Struct와 ClassStruct(구조체):값 타입(Value Type)으로, 메모리에서 값을 복사해 사용하므로 독립된 인스턴스를 생성.상속 불가능.주로 데이터를 저장하거나 간단한 로직을 수행할 때 사용.Class(클래스):참조 타입(Reference Type)으로, 메모리에서 동일한 인스턴스를 여러 곳에서 참조.상속 가능.객체지향 프로그래밍의 주요 개념으로 사용. 🛠 주요 차이점특징 Struct Class메모리 구조StackHeap타입값 타입(Value Type)참조 타입(Reference Type)상속불가능가능성능메모리 복사가 빨라 성능 우수메모리 참조로 성능 낮음 2. 프로토콜*프로토콜(Protocol)**은 특정 기능을 정의한 청사진입니다.Struct, Class, Enum에서 프로..