[Swift] 스위프트란

김태형·2023년 3월 18일
0

Swift

목록 보기
4/22

이제 iOS와 Swift에 대해 본격적으로 공부를 하기 위해 계획을 세우고 꾸준하게 블로그 등을 작성하며 공부를 해보려고 한다.

우선 현재 야곰께서 만들어주신 '스위프트 프로그래밍'이라는 책을 바탕으로 모르는 것이 있으면 다른 강의나 인터넷을 통해 알아보는 방식으로 작성을 해 볼 예정이다.

스위프트

우선 스위프트(Swift)란 Apple이 만든 언어로, iOS, macOS 등을 개발할 때 사용하는 언어이다.


스위프트의 특징

  • 비교적 신생언어이기 때문에 편리하고, 고차원적인 언어이다
  • ARC(자동 참조 횟수 계산, Automatic Reference Counting)을 지원하여, 메모리 관리를 수월하게 해준다.
  • 소괄호( )나 세미콜론;을 사용해거나 생략해도 무관하지만, 중괄호{ }는 생략할 수 없다(클로저 문법 제외)
    따라서 언어의 자유도가 매우 높다고 할 수 있는데, 이러한 점은 다른 사람의 코드를 읽기 어려울 수도 있다는 단점이 있다.

스위프트의 언어적 특성

"Safe, Fast, Expressive"

Safe

  • 스위프트는 매우 엄격한 문법을 통해 안전한 프로그래밍을 지향한다

Fast

  • C언어를 기반으로 한 C, C++, Objective-C와 같은 프로그램을의 언어를 대체하려는 목적으로 만들어졌기 때문에, 매우 효율적이고 빠르다고 한다

Expressive

  • 좀 더 사용하기 편하고 보기 좋은 문법을 구현하려고 노력한다

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

"명령형과 객체지향 프로그래밍 패러다임을 기반으로 한 함수형 프로그래밍 패러다임, 프로토콜 지향 프로그래밍 패러다임"


함수형 프로그래밍 패러다임

  • 대규모 병렬처리가 굉장히 쉬움
  • 함수 자체의 응용을 중요하게 여김
  • 함수를 일급 객체로 다룸
    -> 함수를 호출하고, 전달하고. 반환하는 등의 동작만으로도 프로그램을 구현할 수 있음

의의

  • 여러 가지 연산 처리 작업이 동시에 일어나는 프로그램을 만들기 쉬움
  • 여러 개의 연산 프로세서를 사용하는 시스템에서 효율적인 프로그램을 만들기 쉬움


일급 객체의 특징

  • 동적 인자로 전달할 수 있음 (@State 이런걸 말하는건가,,?)
  • 동적 프로퍼티 할당이 가능함
  • 변수나 데이터 구조 안에 담을 수 있음
  • 반환 값으로 사용할 수 있음 (함수 안에서 함수를 반환할 수 있음)


다음 글부터는 스위프트의 문법과 관련된 글을 포스팅을 해볼 예정이다.

[출처] 스위프트 프로그래밍 (야곰), 야곰의 스위프트 기초문법 강좌, 개발하는 정대리 스위프트 강좌

0개의 댓글