스위프트 |
Object-C |
Object-C를 보완하기 위해 탄생됨 |
C언어에서 파생 |
++,-- 증감 연산자가 없음(3.0이후 버전) |
++,-- 증감 연산자가 있음 |
세미콜론(;)을 사용하지 않음 |
세미콜론(;)을 사용함 |
변수 타입이 뒤에 나옴 |
변수 타입이 앞에 나옴 |
String 자료형이 있음 |
String 자료형이 없음 |
포인터를 사용하지 않음 |
오브젝트 타입 옆에 포인터(*)를 붙임 |
func 함수이름(인자명1: 인자타입1....) -> 리턴 타입 {} |
-(리턴타입) 함수이름:(인자타입1)인자명....{} |
변수 타입을 꼭 명시 하지 않아도됨 |
변수 타입을 명시해야함 |
문자열에 switch/case문이 가능하다 |
문자열에 switch/case문이 불가능하다 |
if let 으로 if문에 변수 값을 넣는게 가능 |
|
optional 변수가 있다 |
optional 변수가 없다 |
함수 parameter에 기본 값을 지정할 수 있음 |
|
함수가 2개 이상의 값을 리턴할 수 있음(멀티플 반환 값) |
|
제네릭 타입 존재(배열, 딕셔너리..) |
|
튜블 존재 |
|
메소드, 확장프로그램 및 프로토콜을 지원 |
|