[Swfit] 타입 정리 및 학습 로드맵

정은·2023년 1월 18일
post-thumbnail

Swift의 주요 타입

  • Basic Type
    Int, Double, String, Bool 등

  • Custom Type (사용자 정의 타입)
    Enum, Class, Struct

  • Tuple
    데이터들을 소괄호로 묶어서 간단하게 사용 할 수 있음..
    (String, Int, String)

  • Collection
    아이템들이 들어가는 것
    (Array, Dictionary, Set)


모든 데이터 타입은 옵셔널 처리가 가능하다


💡 메모리 구조 이해 (CS 관점 동작원리)

  • 코드 영역: 함수 및 명령어 저장
  • 데이터 영역: 전역 변수 저장
  • 스택 영역: 함수 실행 시 생성되는 지역 변수, 파라미터
  • 힙 영역: 클래스 인스턴스 등 동적 메모리 할당

Swift 기초 문법 흐름

  • 변수/상수
  • 기본연산자 (% 주의)
  • 조건문(if/switch)
  • 튜플
  • 삼항/범위 연산자(...)
  • 반복문(for/while)

함수

  • 파라미터 → 스택에 저장
  • 호출 시 → 스택 프레임에 쌓이며 실행

옵셔널

  • 값이 있을 수도, 없을 수도 있는 타입
  • 선언 예: var name: String?

처리 방법

  • ! 강제 언래핑
  • if let 바인딩
  • guard let 바인딩
  • ?? 닐 병합 (기본값 제공)

컬렉션

  • Array, Dictionary, Set
  • 각각 순서/키-값/중복제거 등의 목적

열거형

enum Weekday {
  case monday, tuesday, wednesday
}

한정된 사례를 통하여 개발자가 직접 만들 수 있는 Type


이후 학습 주제 정리


주제핵심 개념
클래스 / 구조체참조 vs 값 타입, 초기화, 메서드
상속 / 확장코드 재사용 및 기능 확장
프로토콜공통 인터페이스 추상화
클로저함수형 프로그래밍 핵심
메모리 관리ARC, strong/weak/unowned
제네릭타입에 구애받지 않는 재사용 코드
에러 처리try, catch, throws
Result 타입성공/실패 값을 타입으로 관리
접근 제어private, fileprivate, public
문자열 / 문자 처리문자열 조작, 유니코드
고급 연산자사용자 정의 연산자 등
날짜/시간Date, DateFormatter
메모리 안전 / 스레드비동기 처리, DispatchQueue, async/await
아키텍처 / 네트워킹MVC 패턴, URLSession, API 통신 등

0개의 댓글