
스위프트
- 미국 애플 회사가 iOS(Internetwork Operating System) 와 오에스텐(OS X)프로그래밍을 위해 개발한 프로그래밍 언어이다. 아이폰 앱 개발을 위한 기존 오브젝티브-C언어와 공존할 목적으로 만들었다
- Object-C
- 과거 iOS나 OS X 앱을 개발 하기 위해서 사용한 언어이다. 기존 C언어에 객체지향의 성격을 섞은 언어이다
- 스위프트는 Object-C 에서 C언어의 특성을 줄이고 객체지향 언어ㅢ 성격을 강화한 언어이다
- 특징
- 사용이 간편한 오픈소스이다
- 프로그램 사용자의 문법적 실수를 줄이는 구문들이 존재하기 때문에 안전하게 프로그래밍을 구현할 수 있다
- Object-C보다 수행능력이 빠르다. 실행 속도의 최적화와 컴파일러의 지속한 개량을 ㄷ통해 더욱 빠른 컴파일 성능을 구현해 나가고 있다
- C, C++, Java등과 달리 함수형 프로그래밍 패러다임, 프로토콜 지향 프로그래밍(특정 기능에 필요한, 메소드, 프로퍼티등을 정의만 해놓은것 ex)Java Interface) 패러다임이다
- 프로토콜 정의
1) a 프로토콜 정의
protocol a {
var topic: string{get set}
func talk(b : Self)
}
2) a프로토콜을 채택한 구조체 정의
struct Person: a{
var topic: String
var name: String
func talk(to: Person){
print("\(topic)에 대해서 \(b.name)과 말합니다")
}
}
3) 프로토콜의 메소드 호출
let lee = Person(topic: "BMW", name:"lee")
let kim = Person(topic: "Audi", name:"lee")
lee.talk(to:kim)
4) 모듈화
protocol a {
var topic: string{get set}
func talk(b : Self)
}
protocol b {
func b1()
}
protocol c {
func c1()
}
}
struct Person: a, b, c{
var topic: String
var name: String
func talk(to: Person){
print("\(topic)에 대해서 \(b.name)과 말합니다")
func b1(){}
func c1(){}
}
}
프로토콜 초기구현 하는법
extention a{
func:talk(to: Self){
~~~~~~~~~~~
}
}'앱 > iOS(Swift)' 카테고리의 다른 글
| [스위프트] 프로퍼티 감시자 (0) | 2022.01.12 |
|---|---|
| [스위프트] Array, Tuple, Set, Dictionary (0) | 2022.01.12 |
| Xcode 시뮬레이터, Playground등 사용시 Spotlight cpu 100% 되는 현상 (0) | 2021.12.23 |
| Xcode 프로젝트 만들면 자동으로 git add 되는 현상 없애는법 (0) | 2021.12.23 |
| 스위프트 알고리즘 입력 받는법 (0) | 2021.12.23 |
댓글