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..
Swift에서 override란? 언제 사용하고, 언제 안 써야 할까? 🚀 Swift에서 override 키워드는 부모 클래스의 메서드, 프로퍼티, 또는 서브스크립트를 **자식 클래스에서 재정의(Override)**할 때 사용됩니다.즉, 기존 기능을 변경하거나 확장하고 싶을 때 필수적으로 사용해야 하는 키워드입니다.override의 개념과 함께 언제 사용해야 하고, 언제 쓰면 안 되는지 자세히 알아보겠습니다.✅ override가 필요한 이유는?부모 클래스의 기능을 변경하려면 반드시 override를 사용해야 합니다.Swift에서는 실수를 방지하기 위해 부모 클래스에 존재하는 메서드를 수정할 때 override를 명시적으로 사용하도록 강제합니다. 예제를 통해 살펴볼까요? 👇class Animal { ..
사전캠프 과제를 통해 한 번도 사용해보지 않은 mutating 키워드에 대해 다시 한 번 깊이 알아보자. Swift에서 mutating 키워드는 구조체(struct) 또는 열거형(enum) 내부에서 인스턴스의 속성을 변경할 수 있도록 해주는 키워드 mutating 키워드가 필요한 이유Swift의 구조체(struct)와 열거형(enum)은 값 타입(value type) 이므로, 메서드 내에서 인스턴스의 속성을 변경하려고 하면 기본적으로 컴파일 에러가 발생합니다.struct Counter { var value: Int = 0 func increment() { value += 1 // ❌ 오류: 구조체의 속성을 변경할 수 없음 }} mutating 키워드 사용법struct Co..
1. Struct와 ClassStruct(구조체):값 타입(Value Type)으로, 메모리에서 값을 복사해 사용하므로 독립된 인스턴스를 생성.상속 불가능.주로 데이터를 저장하거나 간단한 로직을 수행할 때 사용.Class(클래스):참조 타입(Reference Type)으로, 메모리에서 동일한 인스턴스를 여러 곳에서 참조.상속 가능.객체지향 프로그래밍의 주요 개념으로 사용. 🛠 주요 차이점특징 Struct Class메모리 구조StackHeap타입값 타입(Value Type)참조 타입(Reference Type)상속불가능가능성능메모리 복사가 빨라 성능 우수메모리 참조로 성능 낮음 2. 프로토콜*프로토콜(Protocol)**은 특정 기능을 정의한 청사진입니다.Struct, Class, Enum에서 프로..