[iOS] Swift, Xcode와 친해지기

지현·2023년 6월 1일
0

iOS 앱 프로그래밍

목록 보기
1/1

본격적으로 iOS 앱 개발을 공부해보려고한다.
책 '꼼꼼한 재은씨의 스위프트3'를 통해 차근차근 공부해나갈 예정이다.


목차 : 1부. 기본 개념 익히기 - PART 1. 스위프트를 위한 준비 운동 - CHAPTER 01. 애플의 새로운 언어, 스위프트

✅ 1.1 스위프트 언어의 탄생과 배경

❓ Swift란?

  • 애플이 2014 세계 개발자 대회(Worldwide Developers Conference, WWDC)에서 발표한 iOS나 macOS 앱 개발의 새로운 언어이다.

✅ 1.2 스위프트 언어의 특징

  • 스위프트는 정적바인딩 언어이다.

    • 정적 바인딩 (Static binding) : 변수 및 함수가 컴파일 타임에 바인딩(결정)하는 것 (ex. 변수의 선언(변수 타입 지정))
    • 동적 바인딩 (Dynamic binding): 런타임에 바인딩하는 것 (ex. 이미 선언된 변수의 값을 변경할 때)
  • 스위프트는 데이터 타입에 대한 구분이 엄격하다.

✔️ 1.2.1 스위프트 언어에서 차용하고 있는 주요 기능들

Peter Wayner의 '10 features Apple 'stole' for the Swift programming language'

  • 딕셔너리(해시 테이블) - 자바스크립트, 파이썬
  • 데이터 타입 추론 - 함수형 프로그래밍 언어
  • 데이터 구조체 타입 선언 - C#과 자바
  • 문자열 템플릿 - 콜드 퓨전, JSP, 파이썬 등
  • 선택 사항인 세미콜론 - 자바스크립트와 파이썬
  • 프로토콜(인터페이스) - 자바와 C#
  • 튜플(Tuple) - 리스프와 파이썬
  • 자동 참조(가비지 콜렉터 비슷) - 자바, C#, 오브젝티브-C
  • 부호있는 정수와 부호없는 정수 - C#과 오브젝티브-C
  • 클로저(Closure) - 리스프와 스킴에서 자바스크립트까지

✔️ 1.2.2 구조적 특징

스위프트 발표 자료

  • 빠름 (Fast)
  • 설계에 의한 안전성 (Safety by Design)
  • 현대적
  • 상호반응
  • 완전한 플랙폼
  • 통합

✅ 1.3 오브젝티브-C vs 스위프트

  • 파일 통합
  • 클래스의 정의와 구현
  • 상속
  • 범용타입
  • 메소드 호출
  • nil의 의미
  • 포인터 사용
  • 객체지향 타입
  • 익명 함수
  • 오류 처리

참고
꼼꼼한 재은씨의 스위프트3
[OOP] 정적 바인딩, 동적 바인딩

profile
화이팅!

0개의 댓글