Swift의 클래스 역시 구조체처럼 관계가 있는 것들을 묶어서 표현할 때 사용됩니다. 구조체와 마찬가지로 기본적인 구조는 프로퍼티와 메서드로 구성되어있습니다. 구조체를 클래스로 변경이 쉬울 만큼 구현 문법이 동일합니다. 클래스를 알아보고 구조체와 클래스의 차이점에 대해서 알아보겠습니다. Class(클래스) 정의하기 class 클래스 이름 { // 프로퍼티 // 메서드 } 클래스의 간단한 형태입니다 class로 지칭할 수 있으며 property와 method를 가질 수 있습니다. class Person { var firstName: String = "" var lastName: String = "" // 따로 initializers를 정의하지 않고 프로퍼티를 초기화 해주어도 됩니다. func printMy..
Swift에서도 구조체와 클래스가 있습니다. 오늘은 Struct인 구조체에서 알아봅시다. 구조체는 사용자 정의 데이터 타입인데요. 구조체를 사용하면 서로 관계가 있는 것을 묶어서 표현할 수 있게 됩니다. 관계있는 것들은 어떻게 표현할 수 있을까요? 바로 프로퍼티와 메서드를 이용하여 만들어 줄 수 있습니다. Struct는 다른 기본 데이터 타입과 마찬가지로 Value Type입니다. 즉 값이 Copy가 되는 것이죠. 차근차근 알아봅시다. Struct struct [구조체의 이름] { // 프로퍼티... //메서드... } struct Position { let x: Int let y: Int } Struct는 프로퍼티와 메서드를 사용하여서 만들 수 있다고 했습니다. Position은 Int 타입 2개 x,..
Swift Colleciton Type 마지막 Set을 알아봅시다. Set은 수학에서 많이 봐왔던 집합입니다. 집합은 같은 요소를 가질 수가 없고, 집합 안의 순서도 의미가 없습니다. Swift에서도 동일합니다. 즉 고유값만 저장하는 Collection입니다. 중복된 값을 허용하지 않는다는 것이죠. 따라서 각각의 고유한 값을 순서에 대해서 고려할 필요가 없을 때에 Set을 사용 할 수 있습니다. Set 생성하기 //비어있는 Set 생성 var emptySet1: Set = [] var emptySet2 = Set() //초기화 var set1: Set = [1, 2, 3, 3, 4, 2] var set2: Set = [1, 2, 3, 3, 4, 2] //Set을 명시 하지 않으면 배열로 인식하게 됩니다...
Swift Collection의 한 종류인 Dictionary에 대해서 공부를 해 봅시다. Dictionarys는 해시 테이블의 유형입니다. 원하는 항목에 빠르게 접근할 수 있습니다. 단어적 의미는 사전이죠. 실제 영한사전을 예로 들어보겠습니다. Apple의 뜻을 찾기 위해 사전에 검색을 했습니다. 그러면 우리가 원하는 사과를 얻을 수 있습니다. 이렇게 내가 원하는 key를 알 때에 값에 빠르게 접근할 수 있는 Collection입니다. Dictionary Swift의 Dictionary 또한 같다고 생각하시면 됩니다. 즉 key 와value 를 저장할 수 있는 컬렉션입니다. 예시에서 말한 Apple은 key에 해당하고 사과는 value에 해당합니다. 정리하자면 key값을 통해서 Dictionary에 있..
오늘은 Swift Collection의 한 종류인 Array 배열 사용에 대해서 알아봅시다. 컬렉션은 수많은 데이터를 묶어 저장하고 관리할 수 있는 데이터 타입입니다. Aarray 배열 배열은 순서를 가지고, 같은 데이터 타입을 저장할 수 있는 컬렉션입니다. 각각의 요소는 순번이 있습니다. 이것을 Index(인덱스)라고 부르고, 배열의 인덱스를 통해서 각각 요소들에 접근할 수 있습니다. 컴퓨터는 0에서 시작하기 때문에 인덱스 역시 0부터 시작합니다. 4개의 Element가 있다면 0 -> 3까지가 됩니다. Array 배열 생성 let numbers: [Int] = [1, 2, 3, 4] let numbers: Array = [1, 2, 3, 4] Swift Array 배열을 생성하는 방법 입니다. [데이..
Swift의 큰 특징 중 하나라고 생각이 되는데요. 바로 Optional(옵셔널)입니다. 영어 의미로는 '선택적인' 이라는 뜻입니다. 어떤 의미일까요? 변수에 값이 있을 수도 있고, 없을 수도 있다 라는 것을 표현하기 위해서 사용합니다. 즉 '없는 것에 대해서 어떻게 표현을 할 것이냐.' 라는 개념입니다. swift에서는 nil이라는 값으로 없는 값을 표현하고 있으며, 값이 없는 경우를 나타내야 할 때에 optional을 사용하면 됩니다. 구글 번역기에서도 nil을 검색하면 '무'라는 의미로 나타납니다. Optional은 언제 사용할 까? var name: String = "minmong" var petName: String = "" 그럼 Optional은 언제 사용을 해야 할까요? 예를 들어 보겠습니다..
swift Function 함수 사용에 대해서 알아 보겠습니다. 프로그래밍에서 함수란 특정 기능을 수행하는 코드 집합이라고 생각하면 됩니다. 함수에는 함수를 호출 할 수 있도록 이름을 정의해 주어야 합니다. 함수 정의하기 func functionName(external paramName: paramType) -> returnType { //.......... 함수 코드 수행 return returnValue } swift에서 함수를 정의할 때에는 func키워드를 이용합니다. 그리고 functionName 함수의이름은 이름을보고 어떤 동작을 하는 함수있지 판단이 될수 있도록 구체적으로 지어주면 좋습니다. swift의 parameter는 조금 특이한 부분이 있는데요. 외부에서 사용할 매겨변수 이름을 따로 정..
Tuple(튜플)은 다양한 데이터의 값들을 묶어놓은것이라고 할 수 있습니다. 사용하는건 배열 같은 방식으로도 사용이 가능합니다. 하지만 배열처럼 데이터 형이 서로 같을 필요가 없습니다. 따라서 간단한 구조체라고 생각하면 이해하기 쉽습니다. Tuple(튜플) let Origin:(Int, Int) = (0, 0)// 데이터형을 이렇게 지정해 줄 수 있습니다. let Coordinate = (3, 5)// 타입추론으로 값만 입력해 주어도 됩니다. let x = coordinates.0 let y = coordinates.1 Tuple(튜플)의 사용방법은 ( ) 괄호 안에 ,를 이용하여서 데이터 값을 적어주면됩니다. C에서 배열을 사용할 때 {} 중괄호를 사용한것과 유사합니다. Tupledp 접근하는 방법은 ..
swift flow control중 하나인 switch - case문을 알아봅시다. switch문은 특정 값을 받아 내가 미리 지정한 case 조건에 충족한 코드가 실행되는 분기문입니다. swift의 switch의 경우 C언어와는 달리 각각의 case 를 빠져나갈때에 break를 사용할 필요가 없습니다. switch 기본 사용 방법 let num = 5 switch num { case 0: print("0 입니다.") case 5: print("5 입니다.") default: print("나머지 수 입니다.") } switch에 값 을 넣어주게 되면 내가 미리 지정해 놓은 case 들의 값들과 비교한 후 조건에 맞는 코드가 실행 됩니다. 위의 코드를 보면 switch 값으로 num 들어왔고 num은 5인..
swift 문법 반복문 while, repeat while을 알아보고 사용해 봅시다. for loop처럼 while 문 안에 있는 코드를 조건에 따라서 반복시킬 수가 있습니다. while while 조건 { // code.... } while 문의 기본 형태입니다. while 후에 조건을 통해서 코드가 반복되게 됩니다. var i = 0 while i < 10 { print(i) i += 1 } 해당 코드의 while 반복문의 조건을 보면 i < 10보다 작을 경우에 반복이 됩니다. 스코프 안쪽의 코드를 보면 i를 출력하고 나서 1씩 더해주고 있습니다. 결과는 어떻게 될까요? 처음 while을 만났을때 i는 0이기 때문에 10보다 작습니다. 조건을 만족했으니 스코프 안의 코드가 조건에 따라서 반복 실행됩..
swift 프로그래밍에서 코드를 반복적으로 수행하게 해주는 반복문에 대해서 알아봅시다. C++에서는 for, while, do while이 있는데요. swift에서도 똑같은 기능의 반복문이 있습니다. for loop문 for 반복문의 경우는 특정한 범위를 지정하면 그 지정한 범위만큼 스코프안에 있는 코드를 반복하게 됩니다. for문의 경우는 반복할 범위를 지정해 줄 수 있습니다. let forRange = 0...10 // 0 ~ 10 let forRange2 = 0..
swift(스위프트)에는 문자열에 아주 편하고 강력한 기능이 있습니다. String Interpolation 바로 문자열 삽입이라고 하는 기능인데요. 문자열에 변수들을 삽입할 수 있습니다. C에서는 문자열 포맷을 사용해서 변수들의 값을 넣어 줄 수 있었지만, swift에서는 아주 손쉽게 문자열에 변수를 삽입할 수 있습니다. // \(변수)을하면 문자열에 삽입 할 수 있게 된다. let price = 5000 let message = "가격은 ₩\(price) 입니다." 해당 코드를 실행시키면 문자열에 price 변수의 값이 5000이 삽입 된것을 확인할 수 있습니다.