Swift 01 : Swift란

Swift란

2014년 WWDC를 통해서 처음 공개된 언어
기존에는 Objective-C로만 iOS앱 개발이 가능했는데 Swift가 공개 되고나서는 Swift로도 iOS앱을 개발 할수 있게 되었다. 비교적 최근에 나온 언어인 만큼, 기존 프로그래밍 언어들이 많이 참고되었다.

Swift의 특징

안정성
  • Type에 엄격하다 1
    • 문자열 배열에는 문자열만 담을 수 있다.
    • 타입 안정성을 위해 타입체크를 해줘야한다.
  • nil(빈 값)에 엄격하다
    • 컴파일을 할떄 문제가 될수있는 nil객 체를 만들거나 사용할수 없도록 함. (nil을 사용할 경우 옵셔널(Optional)을 이용하여 빈값이 올수도 있다고 표현)
표현성
  • 표현성을 고려한 프로그래밍 언어이다.

    func greet(person: String, from hometown: String) -> String {
      return "안녕하세요 \(person)님! \(hometown)에서 오시느라 고생 많으셨습니다."
    }
    
    greet(person: "길동", from: "대전") // 안녕하세요 길동님! 대전에서 오시느라 고생 많으셨습니다.
    

    swift가 더 나은 표현성을 제공하는 만큼 해석하기 용이하다.

  • 다중 패러다임 프로그래밍 언어 지원

    명령형 프로그래밍 패러다임, 객체 지향 프로그래밍 패러다임, 함수형 프로그래밍 패러다임, 프로토콜형 지향 프로그래밍 패러다임을 지원한다.

Swift 학습 자료

Apple Developer Documentation https://developer.apple.com/documentation/
→ 주제별로 다운로드 할수 있는 샘플코드와 설명 제공

Swift.org https://docs.swift.org/swift-book/documentation/the-swift-programming-language/
→ Swft 언어에 대해 사전처럼 검색 가능(소개, 원리, 사용법, 주의할 점 등 안내)

The Swift Language Guide(한국어) https://jusung.gitbook.io/the-swift-language-guide/

Swift API Design Guidelines https://www.swift.org/documentation/api-design-guidelines/
→ 네이밍, 컨벤션 등을 정할떄 참고하면 좋은 API 디자인 가이드라인

Apple Developer WWDC https://developer.apple.com/videos/all-videos/
→ 매년 발표되는 WWDC 영상들이 아카이브 되어있음. WWDC22부터는 한국어 자막 지원

iOS App Dev Tutorials : https://developer.apple.com/tutorials/app-dev-training


  1. 그만큼 TypeSafe한 언어라고도 할 수 있다. ↩︎