#.1 Swift?? Objective-C?? 차이?? (swift)

Swift 

처음 iOS 공부 하기 시작 하자 마다 Objective-C 그리고 Swift  두단어를 듣게 되었다
그래서 두개 대한 아무런 정보가 없던 나는 인터넷 뒤지고 , 책을 찾으면서 기존에는 어플리케이션 을  Objective-C  
작성하던것이 iOS 8 넘어 오면서  Swift 라는 언어가 나오면서 요즘 에는  Swift  많이 쓰게 된것이라고 알게 되었다
즉 둘다 프로그래밍 언어 고 기존에는 Objective-C 이용했지만 최근 들어와서는 Swift 를 많이 쓰는 추세이다.

그렇다면 기존의  Objective-C  Swift  차이점은 무엇인가
  1. 타입 추정이 가능 제공 되어진다는 것이다.  
기존의  Objective-C  C  비슷하게 모든 변수에 형태를 지정 해주어야 했지만 
스위프트는 그러한것 없이 값을 넣어 주면 값에 따라서 변수의 형태를 컴파일러 에서 인식 할수 있다.
보시다시피 에는 형태를 정해 주었지만  (뒤에 ? optional 이라는 것으로 향후 설명 하겠다.)
밑에 sentence 변수는 형태 지정 없이 바로 값을 넣어 주어도 아무런 문제가 없다

  1. 문자열 연산이 매우 편해 졌습니다
기존의 에서는 문자열 이라는 개념 없이 그저 배열이나 그러한것들을 이용 해야 했다는 불편함이 있지만
스위프트 에서는 다른 스크립트 언어들 처럼 연산자들( += , == ) 같은 것으로 문자열을 연산 할수 있게 되었습니다.
밑에 사진 처럼 단순한 == 으로 문자열에 대해서 일치 하는지 알수 있다

  1. switch  
오브젝트 에서는 if 문을 통한 control flow 가능 했고 switch 문을 지원 해주지 않았지만 스위프트 
넘어가면서 switch 문을 지원 해주게 되었고 따라서 복잡하게 if 문을 적어주지 않아도 되는 편리함
생겼습니다

스위프트 에서 break 문이 없어서도 우리가 다른 언어에서 발생했던 fallthrough 발생하지 않아서
break 대해서 표기 해줄 필요가 없다

  1. Generic type 제공 
어떠한 요소 대해서 한가지 종류가 아닌 다양한 종류의 형태를 제공해주는 것을 Generic 이라고 하는데 
스위프트 에서는 이러한 것을 제공 해주고 있다
  ex) 




     이렇게 나오는 값에 대하여 String 같이 문자열을 제공 하지 않고 Any  둔다면 반환하는 값이 변한다고 해도 동작 한다

 다른 언어 (JAVA 나 C ) 를 배워 봐서 조금은 친숙했지만 여전히 배워야 할 파트가 많다고 느꼈습니다.  또 이러한 것은 swift 문법적인 면에서만 본것이고 앱을 만드는데 있어서 view 적인 측면을 무시 할수 없기 때문에 그러한 파트에 대해서도 차후 더 많은 공부가 선행 되야 할거 같다. 


추신. "이것이iOS다" 라는 책을 공부하면서 발췌한 내용입니다. 초심자들에게 유용한 책이니 iOS 에 대해서 저처럼 아무것도 모르는 분들이라면 권해드리고 싶은 책입니다. 

댓글

이 블로그의 인기 게시물

#.2 버튼 안에 이미지 사이즈 키우기 (Make the image that is inside the button bigger ) (swift)

#3. typealias (swift)