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장으로~