Swift/Swift 가이드

[Swift] Swift 공식 문서 - Swift 소개(1)

유정주 2021. 12. 14. 00:10
반응형

안녕하세요. 개발하는 정주입니다.

 

오늘은 애플 개발자 홈페이지의 Swift 소개를 정리하려고 합니다.

 

Swift 공식 가이드 문서를 정리하기 전에 Swift가 무엇인지, 어떻게 소개되고 있는지 알아야겠다는 생각이 들었습니다.

파파고의 힘을 빌려 번역했으며 잘못된 번역이 있다면 댓글로 알려주세요.


목차


    배우기 쉽고 강력한 프로그래밍 언어

    Swift는 iOS, iPadOS, macOS, tvOS 및 watchOS를 위한 강력하고 직관적인 프로그래밍 언어입니다.

    Swift 코드 작성은 대화형이고 재미있으며, 구문은 간결하면서도 표현력이 있습니다.

    또한 스위프트는 개발자들이 사랑하는 현대적 기능을 포함하고 있습니다.

    스위프트 코드는 설계상 안전하고 빠르게 실행되는 소프트웨어도 생산합니다.

     


    Modern

    스위프트는 프로그래밍 언어에 대한 연구와 수십 년 간의 애플 플랫폼 구축 경험이 결합된 결과물입니다.

    Named parameters는 스위프트의 API를 읽고 관리하기 쉽게 하는 Clean Syntax로 표현됩니다.

    세미콜론을 입력할 필요도 없습니다.

     

    타입 유추는 모듈이 헤더를 제거하고 네임스페이스를 제공하면서 코드를 더 깔끔하면서 실수를 줄일 수 있습니다.

     

    국제 언어와 이모지를 가장 잘 지원합니다.

    문자열은 유니코드 방식이며 UTF-8 기반 인코딩을 사용하여 다양한 사용 사례에 맞게 성능을 최적화합니다.

     

    메모리는 엄격한 결정론적 참조 카운팅(deterministic reference counting)을 사용하여

    garbage collection의 오버헤드 없이 메모리 사용량을 최소한으로 유지하여 자동으로 관리됩니다.

     

    Swift는 코드를 더욱 표현하기 위한 많은 다른 기능들을 가지고 있습니다.

    • 강력하면서도 사용이 간편한 제네릭
    • 제네릭 코드 작성을 더욱 쉽게 만드는 프로토콜 확장
    • First class 함수 및 간략한 클로저 구문
    • range이나 collection에서 동작하는 빠르고 간결한 반복
    • 튜플 및 다중 반환 값
    • 메서드, 확장 및 프로토콜을 지원하는 Struct
    • 함수형 프로그래밍 패턴(예: map, filter)
    • try / catch / throw를 사용한 네이티브 오류 처리

     


    Designed for Safety

    Swift는 안전하지 않은 코드의 전체 클래스를 제거합니다.

    변수는 항상 사용하기 전에 초기화되며, 배열과 정수는 오버플로 검사를 받고, 메모리는 자동으로 관리됩니다.

    또한, 수많은 프로그래밍 오류에 대비하여 메모리 가드에 대한 독점적인 접근 권한을 시행합니다.

     

    의도를 쉽게 정의할 수 있도록 문법이 조정됩니다. 예를 들어, 변수는 var, 상수는 let으로 정의합니다.

    Swift는 Array 및 Dictionary 같은 Value Type을 많이 활용합니다.

    즉, 해당 Type을 copy할 때 다른 곳에서는 수정되지 않습니다.

     

    스위프트 물체는 기본적으로 nil이 될 수 없습니다.

    스위프트는 nil 객체를 만들거나 사용하면 컴파일 에러가 발생합니다.

    이를 통해 코드 작성이 훨씬 더 깨끗하고 안전하며 앱에서 발생하는 광범위한 런타임 Crash를 방지할 수 있습니다.

     

    그러나 nil을 사용해야 할 때가 있습니다.

    이러한 상황에서 스위프트는 옵셔널이라는 혁신적인 기능을 가지고 있습니다.

    옵셔널을 이용해 nil을 사용할 수 있지만 스위프트 구문은 ? 키워드를 사용하여

    옵셔널을 안전하게 처리할 것을 강제합니다.

     

     


    Fast and Powerful

    스위프트는 초기 컨셉부터 빠르게 설계되었습니다.

    고성능 LLVM 컴파일러 기술을 사용하여 Swift 코드는 최신 하드웨어를 최대한 활용하는

    최적화된 네이티브 코드로 변환됩니다.

    스위프트로 코드를 작성하는 것이 최상의 성능을 발휘하는 가장 확실한 방법입니다.

     

    스위프트는 C 언어와 오브젝티브-C 언어의 후속 언어입니다.

    type, flow control 및 operator와 같은 low-level의 요소를 포함합니다.

     

    또한 클래스, 프로토콜, 제네릭과 같은 객체 지향 기능을 제공하여

    코코아 및 코코아 터치 개발자가 요구하는 성능과 파워를 제공합니다.

     


    Great First Language

    스위프트는 코딩의 세계로 입문하기 좋습니다.

    스위프트는 학생이든 새로운 진로를 개척하든, 누구에게나 첫 번째 프로그래밍 언어가 되도록 설계되었습니다.

    교육자들을 위해 애플은 스위프트를 교실 안팎에서 가르치기 위해 무료 교육과정을 만들었습니다.

     

    처음 코딩하는 사람들은 Swift Playground를 다운로드할 수 있습니다.

    이 앱은 Swift 코드를 대화식으로 재미있게 시작할 수 있게 해 줍니다.

    앱 개발자가 되고자 하는 사람들은 무료 강좌에 접속하여 Xcode로 첫 앱을 만드는 법을 배울 수 있고

    전 세계 애플 스토어에서는 오늘의 애플 코딩 & 앱 세션에서 스위프트 코드를 직접 체험할 수 있습니다.

     


    참조

    https://developer.apple.com/swift/#modern

    반응형