스위프트로 MacOS 애플리케이션 만들기 #2 Swift 기초2

Explanation

사실은 어제 스위프트 기초 문법을 공부하고, ‘그래도 내가 그동한 개발한 시간이 있는데 대에충~ 인터넷에 메서드들 검색하면서 만들면 되겠지’라는 생각으로 호기롭게 Xcode 열고 프로젝트를 만들다가, 굉장히 많은 난관에 부딛치며 거의 중상을 입고 패잔병의 마음으로 기초 문법 2탄으로 돌아왔습니다.

그래도 좀 아는게(그나마) 자바스크립트(타입스크립트)라서 어쩔 수 없이, 본문의 내용은 자바스크립트와의 차이점 위주로 작성이 될 것 같습니다.
(이전 글과 마찬가지로 swift가 거의 처음이라 잘못된 내용이 굉장히 많을 수 있습니다.)

1. 문자열 타입

String은 Swift String이고 구조체.
NSString은 Foundation String이고 클레스.

대에충 느낌적으로 Foundation은 오브젝티브C에서 쓰다가 온 거 같고 Swift는 스위프트 나오면서 만들어진 거 같아요.

라고 하는데, 왕초보인 나에겐 정확히 무슨 차인지 잘 모르겠네요. 지금까지 아는 정보로는 구조체는 값을 복사하고 클레스는 참조값을 복사한다는데. 그래서 혹시하고 무식하게 아래와 같이 해봤는데..

그렇다. 원시값은 원시값일 뿐이다.

요 부분은 나중에 프로젝트 하면서 알게되면 추가하도록 할게요.
아마도 당분간은 그냥 String 쓸 거 같아요…

오! 타입 앞에 NS가 붙는건 NextStep의 줄임말로 예전 오브젝티브C 시절의 타입이래요.
(이전에 쓰던건데 왜 NextStep일까요??)
[참고]
https://velog.io/@loinsir/Swift-NS-%ED%83%80%EC%9E%85

2. 범위연산자

이건 자바스크립테 없는 연산자네요.
이렇게 시작과 끝이 다 있지 않고 시작점이나 끝점만 사용할 수 도 있다고해요.

3. 계산 속성

위 코드에서 set 부분이 없으면 ‘읽기 전용 계산 속성’ 이라고 합니다.
음… 대략 어떤 느낌인지 알겠지만서도, set의 활용해 대해서는 아직 잘 모르겠네요.

set의 활용에 대해서는 나중에 사용하게 되면 추가해볼게요,
아마도 당분간은 ‘읽기 전용 계산 속성’으로만 사용하게 될 거 같아요.

4. 타입 체크 연산자

자바스크립트에서는 타입 체크가 좀 번거로울 때가 많은데, 스위프트는 깔끔한 거 같아요.

5. 확장

6. 프로토콜

프로토콜이라고해서, 무식하게 막 HTTP, TCP, UDP 이런거 생각하고 약간 걱정했는데,
타입스크립트에서 interface랑 비슷한 거 같아요.

역시, 이론 공부는 별로 흥미롭지 않네요..
다시 한번, 프로젝트에 몸통 박치기를 시전하고 다음 포스팅은 조금 더 흥미진진한 이야기로 돌아올…
(수 있기를…)

참고.
https://www.youtube.com/watch?v=jDKV-M6fyIk