야곰님의 Swift Programming을 공부하며 혼자 끄적였던 것들을 옮긴다.
Swift를 공부하는 다른 개발자들에게도 0.1만큼의 도움이 되었으면 좋을 것 같다는 마음으로 시작!
Swift
- 고차원적 언어
- ARC(자동 참조 카운팅)으로 메모리를 관리한다
- 자바 기반의 GC와 비슷한 역할을 하지만, 전혀 다르다고 말할 수 있다. 이에 대해서는 이후에 작성할 것임
- Object-C의 동적 객체 모델과 매개변수를 도입했다
특징
- 안전성
- guard, 옵셔널, 오류처리 등으로 보다 안전하다
- 타입에 대해 엄격하다 -> 개발자에게는 오히려 불편하지만, 프로그램 관점으로 본다면 안전하다
- 신속성
- FP(함수형 프로그래밍) 패러다임을 적용
- POP(프로토콜 지향 프로그래밍)
함수형
- 대규모 병렬처리에 유용하다
- 상태의 변화없이 데이터를 처리할 수 있다
- 함수형이 아니라면 포인터, 레퍼런스 등이 변경되어 함수 내부 처리에 영향을 준다
- 즉, 순수함수를 작성하기 힘들다.
- 함수형이 아니라면 포인터, 레퍼런스 등이 변경되어 함수 내부 처리에 영향을 준다
- 함수를 일급시민으로 다룬다.
- 전달인자(매개변수)로 전달 가능
- 동적 프로퍼티로 할당 가능
- 변수나 데이터 구조 내에 할당 가능
- 반환 값으로 반환 가능
func sum(first: Int) -> (Int) -> Int{
return { second in
return first+second
}
}
sum(first:10)(5)
해당 메소드처럼 하나의 매개변수만 담을 수 있게 하는 기법을 커링이라 한다.
커링이란?
- 여러개의 매개변수를 갖는 함수를 매개변수 하나를 갖는 함수의 나열로 표현
프로토콜 지향 프로그래밍 POP
- 뒤~에서 설명
'Swift' 카테고리의 다른 글
[Swift] 구조체/클래스 - 스위프트 언어 및 문법(5) - feat.야곰's Swift Programming (0) | 2021.01.14 |
---|---|
[Swift] 옵셔널 - 스위프트 언어 및 문법(4) - feat.야곰's Swift Programming (0) | 2021.01.14 |
[Swift] 함수/메서드 - 스위프트 언어 및 문법(3) - feat.야곰's Swift Programming (0) | 2021.01.14 |
[Swift] 데이터타입 - 스위프트 언어 및 문법(2) - feat.야곰's Swift Programming (0) | 2021.01.14 |
[Swift] autoreleasepool 이란? (2) | 2021.01.14 |