내배캠 iOS 마스터 6기

내배캠 iOS 마스터 6기

[ 사전캠프 6일차 ] 비동기 프로그래밍/ 제네릭

1. 비동기 프로그래밍비동기 프로그래밍작업을 동시에 실행하거나, 완료 여부를 기다리지 않고 다음 작업을 수행할 수 있는 프로그래밍 방식iOS에서는 주로 **GCD(Grand Central Dispatch)**와 비동기 메서드를 사용동기 vs 비동기동기(Synchronous): 작업이 완료될 때까지 대기비동기(Asynchronous): 작업 완료를 기다리지 않고 바로 다음 작업 실행GCD의 주요 큐Main Queue: UI 작업을 처리Global Queue: 백그라운드 작업 처리Custom Queue: 사용자 정의 작업 큐🛠 비동기 프로그래밍 예제DispatchQueue.global().async { print("비동기 작업 실행") DispatchQueue.main.async { ..

내배캠 iOS 마스터 6기

[ 사전캠프 4일차 ] 클로저/ 객체지향 프로그래밍

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..

내배캠 iOS 마스터 6기

[ 사전캠프 2일차 ] 자료구조/ 메모리 구조 및 ARC

1. 자료구조배열(Array)데이터를 순차적으로 저장하는 자료구조인덱스를 사용해 특정 요소에 접근특징: 빠른 조회(O(1)), 삽입/삭제 시 성능 저하(O(n))var numbers = [1, 2, 3, 4, 5]numbers.append(6)print(numbers) // [1, 2, 3, 4, 5, 6]  큐(Queue)선입선출(FIFO, First In First Out) 구조데이터를 한쪽에서 삽입하고, 반대쪽에서 제거사용 사례: 프린터 작업 대기열, BFS 탐색struct Queue { private var elements: [T] = [] mutating func enqueue(_ element: T) { elements.append(element) } ..

내배캠 iOS 마스터 6기

[ 사전캠프 1일차 ] Struct와 Class / 프로토콜

1.  Struct와 ClassStruct(구조체):값 타입(Value Type)으로, 메모리에서 값을 복사해 사용하므로 독립된 인스턴스를 생성.상속 불가능.주로 데이터를 저장하거나 간단한 로직을 수행할 때 사용.Class(클래스):참조 타입(Reference Type)으로, 메모리에서 동일한 인스턴스를 여러 곳에서 참조.상속 가능.객체지향 프로그래밍의 주요 개념으로 사용. 🛠  주요 차이점특징 Struct Class메모리 구조StackHeap타입값 타입(Value Type)참조 타입(Reference Type)상속불가능가능성능메모리 복사가 빨라 성능 우수메모리 참조로 성능 낮음 2.  프로토콜*프로토콜(Protocol)**은 특정 기능을 정의한 청사진입니다.Struct, Class, Enum에서 프로..

Sheep1sik
'내배캠 iOS 마스터 6기' 카테고리의 글 목록