반갑습니다 :) 에르의 생각공작소의 에르입니다.
이번 시간에 다뤄 볼 주제는 바로 " SWIFT "입니다.
objective-c 언어의 특징도 가지고 있으면서,
스위프트만의 독자적인 장점도 가지고 있는
오브젝티브씨를 다루셨었던 개발자분들은
왠 새 한마리가 툭 튀어나와서 이리 마을을 흔드냐..
라고 하시겠는데
처음에는 스위프트가 공개됬을 때는 많은 분들이
많은 분들이.. 스위프트하면 가장 먼저 떠올리실 것 같은...?
네.. 저도 인정합니다. 스위프트하면 " 테일러 스위프트 " 가 가장 먼저 떠오르죠.
뜬금없지만, 레전드 짤하나 퍼왔습니다.
자! 이제 각설하고 본론으로 돌아가보겟습니다.
스위프트(Swift)는 애플의 iOS와 OS X를 위한 프로그래밍 언어로
2014년 6월 2일 애플 세계 개발자 회의(WWDC)에서 처음 소개되었다.
기존의 애플 운영체제용 언어인 오브젝티브-C와 함께 공존할 목적으로 만들어졌으며,
오브젝티브-C와 마찬가지로 LLVM으로 빌드되고 같은 런타임을 공유한다.
클로저, 다중 리턴 타입, 네임스페이스, 제네릭스, 타입 유추 등 오브젝티브-C에는 없었던
현대 프로그래밍 언어가 갖고 있는 기능을 많이 포함시켰으며,
코드 내부에서 C나 오브젝티브-C 코드를 섞어서 프로그래밍하거나 스크립트 언어처럼 실시간으로 상호작용하며
프로그래밍 할 수도 있다. 언어 설명서도 함께 배포되었다. 애플에서는 iBooks에서 Swift에 관한 책을 배포하고 있다.
링크 --> [ swift 언어 개발문서 한국어 번역판 ] 입니다.
본격적으로 시작하기전에, 앱스토어에서 XCODE를 다운받아주세요.
XCODE가 없다면 Swift는 무용지물입니다.
XCODE를 실행시키시면 위와 같은 화면을 보실 겁니다.
여기서 ' Get started with a playground " 를 클릭해주세요.
playground란 xcode의 장점 중 하나로써 연습장입니다.
코드를 작성해보고 작성하는 즉시 중간중간에 자동으로 혹은 수동으로 실행하여,
결과를 즉시 확인할 수 있습니다.
이름은 아무렇게 편하신데로 적어주시고 플렛폼은 IOS를 선택해주시고 생성해주세요.
플레이그라운드 실행시켰을 때 제일 처음 보게될 화면입니다.
익숙한 hello world 란 문장이 보이네요.
그런데 맨앞 줄에 var 는 도대체 무엇일까요?
let 은 상수 값을 선언하기 위해 쓰입니다. invariable 값을 선언하기위해 사용되죠.
한번 그 값으로 초기화되면 변경 할수없습니다.
var 는 변수 값을 선언하기 위해 쓰입니다. variable 갑슬 선언하기위해 사용됩니다.
한번 선언된 값을 수정할 수 있습니다.
또한, 정석대로라면 let name:type = value가 되어야하는데 타입 선언 부분이 생략되어있습니다.
왜냐하면 스위프트의 자동 타입 추론 기능으로 인해 값을 입력하면 그 값을 자동으로 인식하여,
컴파일러가 해석한 타입으로 선언합니다.
고로, 정수값을 입력하면 그 개체의 타입은 자동추론을 통해 정수로 선언되는 것이며,
문자열을 입력했을 경우 개체의 타입은 자동 추론으로 인해 스트링으로 선언됩니다.
let으로 maxnumber라는 개체를 생성하였고 저 개체의 값은 300이며, 코드를 수정하지않는 한 변경하지못합니다.
var 로 currentNumber라는 개채를 생성하였고 저 개체의 값은 123이며, 수정가능합니다.
currentNumber 값을 123에서 230으로 수정하였고 문제없이 변경되었습니다.
허나, maxNumber 값을 300에서 350으로 수정하고자 하였으나 에러가 발생했습니다.
이번에는 currentNumber와 pastNumber를 더해보도록 하겠습니다.
currentNumber + pastNumber 라는 코드를 실행했더니 에러가 납니다.
이유는 바로 타입이 서로 다르기 때문입니다.
pastNumber는 더블 값을 가지고 있으나 currentNumber는 정수값을 가지고 있습니다.
스위프트에서는 다른 타입의 값을 서로 연산시킬 수 없습니다.
둘 중 하나의 값을 같은 타입으로 재선언해주셔야합니다.
int 타입인 currentNumber 를 Double값으로 재선언하여 pastNumber 값과 덧셈을 시켜보니...
에러가 사라졌습니다.!
값을 재선언하기위해서는 type(value) 문을 사용해주시면 됩니다.!
다음편은 string과 numbers 를 다뤄보도록하겠습니다.
윤성관님의 강의를 참고하엿습니다.
p.s 처음 스위프트가 공개되었을 때는 외면은 많이 받았었습니다.
옵젝씨가 드디어 빛을 발하려고하는 과정에서 스위프트가 공개되었기 때문입니다.
스위프트의 몰락을 점치는 사람들이 꽤 있었습니다.
허나 옵젝씨와 호환되며, 더 세련되고 현대화된 스위프트가 오픈 소스로 공개되며,
실 개발에 사용되고 시간이 지남으로서 영향력이 커져가고 있음은 사실이며,
애플 또한 공식홈페이지를 통해 스위프트 언어 사용을 장려하고 있습니다.
저같이 처음으로 프로그래밍을 공부하시는 분들은 스위프트가 의외로 적합하다고 봅니다.
다들 같이 힘내봅시다! :)
RECENT COMMENT