👨🏻‍💻iOS 공부/Swift 기본기 다지기

[ETC_001] 스위프트란?

728x90
반응형

01. Swift 기초

  • 스위프트는 ARC(자동 참조 카운팅)을 지원하여 쉽게 메모리 관리를 할 수 있다.
  • 스위프트는 “컴파일” 언어이다.
  • 스위프트에서는 소괄호, 세미 콜론을 생략해도 무관하다.

[스위프트의 언어적 특징]

안정성 : guard문, 오류 처리, 타입 통제 등을 통해 안전한 프로그래밍을 도모한다.

신속성 : 스위프트는 C기반으로 빠른 컴파일 성능을 가지고 있다.

표현성 : 현대적이고 세련된 문법 구사가 가능하다.

결론 : 스위프트의 함수형 프로그래밍과 프로토콜 지향하는 바가 짱짱이다.

class SampleClass {

    var SampleProperty : Any = 1

    func SampleMethod() {

        // Action을 적어준다.

    }

}


let SampleInstance : SampleClass = SampleClass()

// 클래스 이니셜라이저를 호출하여 인스턴스에 할당한다!

// 아를 통해 메모리에 할당되며, 초기화된 객체를 "인스턴스"라고 부른다.


SampleInstance.SampleProperty = 100

print(SampleInstance.SampleProperty)

// > 100

SampleInstance.SampleMethod()

// 이렇게 메서드를 불러 action을 취할 수 있다,

  • 함수형 프로그래밍은 “대규모 병렬처리”가 쉽다.
    : 수학적 함수를 이용하기에 전달된 인자 값만 결과에 영향을 준다. 이에 어떤 상황에서 실행하더라도 같은 결과를 도출할 수 있다, 값이 변하지만 않는다면 함수 호출이 각각 배타적으로 실행되어 병렬처리시에 부작용이 없다!

함수형 프로그래밍의 특징 : 함수를 전달인자로 사용!

func plus() {

    print("plus")

}


func minus() {

    print("minus")

}


func execute(actions: [() -> Void]){

    for action in actions {

        action()

    }

}


execute(actions: [plus,minus])

// 함수를 전달인자로 사용할 수 있다.

  • 여러가지 연산 작업이 동시에 일어나는 프로그램을 만들기 좋다!
  • 멀티 코어 혹은 여러 개 연산 프로세서를 사용하는 시스템에서 효율적으로 프로그램을 만들 수 있다!
  • 순수하게 기능 구현에 초점을 맞춰 설계할 수 있다.

[프로토콜 지향]

프로토콜에 익스텐션(기능을 추가)을 활용할 수 있기에 프로토콜 지향 프로그래밍이 가능해졌다.

** Playground TIP

  • 네비게이터 열기 : Command + 0
  • 빠른 확인 뷰 바꾸기 : Ctrl + 클릭

1장 끝!

스위프트의 편리하고 세련된 프로그래밍 방식을 잘 터득해서 원하는 프로그램을 만들어 봐야겠다!
2장으로~

728x90
반응형