[[0717 옵셔널]] [[0722-1 타입 캐스팅]] [[0722-2 연산자]] [[0730-1 Guard, Switch]] [[0730-2 함수, 메서드, 클로저]] [[0730-3 객체지향]] [[0801 클래스 선언, 초기화]] [[0802 클래스 초기화, 소멸]] [[0805-2 클로저]] [[0805-1 저장 프로퍼티, 연산 프로퍼티]] [[0805-3 Self]]
Swift 개발자 역량 체크리스트
✅ 1. 스위프트 기본 문법
- 1.1 변수, 상수, 타입 추론
- 1.2 기본 데이터 타입 (Int, Float, Bool, String, Array, Dictionary)
- 1.3 연산자 (+, -, ==, !=, && 등)
- 1.4 조건문 (
if,guard,switch) - 1.5 반복문 (
for-in,while) - 1.6 옵셔널 (
?,!, Optional Binding, Optional Chaining, nil-coalescing)
✅ 2. 함수와 클로저
- 2.1 함수 정의, 매개변수, 반환값
- 2.2 외부/내부 매개변수 이름
- 2.3 기본값, 가변 매개변수, inout
- 2.4 클로저 기본 문법
- 2.5 클로저 축약형 (
$0,return생략 등) - 2.6 클로저 캡처와 순환 참조
✅ 3. 객체지향과 타입
- 3.1 클래스(Class) vs 구조체(Struct)
- 3.2 속성(Stored Property, Computed Property)
- 3.3 메서드(Instance, Type),
mutating - 3.4 이니셜라이저 (
init, convenience, required) - 3.5
self,lazy,didSet,willSet - 3.6 값 타입(Value Type) vs 참조 타입(Reference Type)
- 3.7 상속, 메서드 오버라이딩
- 3.8 접근 제어 (
private,fileprivate,internal,public) - 3.9 프로토콜(Protocol), 프로토콜 지향 프로그래밍
✅ 4. 열거형, 확장, 고급 타입
- 4.1 열거형(Enum) +
associated value,rawValue - 4.2 Extension (기능 추가)
- 4.3 Tuple
- 4.4 Typealias
- 4.5 Generic (제네릭)
✅ 5. 메모리와 ARC
- 5.1 ARC 개념 (자동 참조 카운트)
- 5.2 강한 참조 vs 약한 참조 (
strong,weak,unowned) - 5.3 순환 참조와 클로저 캡처 문제
- 5.4 캡처 리스트
[weak self],[unowned self]
✅ 6. 고차 함수와 컬렉션 활용
- 6.1 map, filter, reduce, compactMap, flatMap
- 6.2 sort, contains, first(where:) 등
- 6.3 고차 함수 활용 패턴
✅ 7. 에러 처리
- 7.1
do-try-catch문법 - 7.2
throws,rethrows,try?,try! - 7.3 에러 정의와 사용 (
enum+Error프로토콜)
✅ 8. 비동기 처리 (동시성)
- 8.1 DispatchQueue (GCD) 기본 사용법
- 8.2 async/await 문법
- 8.3 Task, TaskGroup
- 8.4 MainActor, @MainActor, @Sendable
✅ 9. Swift에서 UIKit or SwiftUI 연결 개념 (초급 실전)
- 9.1 MVC 패턴의 개념
- 9.2 ViewController 생명주기
- 9.3 SwiftUI 기초 뷰 구성 (
@State,@Binding,ObservableObject) - 9.4 데이터 흐름의 이해 (단방향 데이터 흐름, State 관리)
✅ 부록 – 현업 개발에 도움 되는 기타 주제
- 디버깅 기초 (
print,breakpoint,LLDB) - 단위 테스트 (
XCTest,assert) - Git으로 협업하기
- Xcode의 기본 기능 (네비게이션, 시뮬레이터, 단축키 등)