Swift 언어/Swift 문법 정리
Swift는 객체 지향 언어이기 떄문에 클래스의 사용이 필수적임. 또한 클래스의 사용으로 코드는 더 유연해지고 보기쉽게 됨.클래스(Class): Swift에서는 클래스를 정의하여 객체를 만들고 사용할 수 있음. 클래스를 하나 만든다면 클래스에서 생성된 객체인 인스턴스를 만들어 실제 작업에 쓰일 수 있게함. 클래스에 대한 예시코드를 보겠음.클래스를 선언하기 위해서는 아래 처럼 작성하면 됨.class '클래스이름' { /* 코드 부분 */}위 처럼 클래스를 선언하고 안에 name 변수와 my_name() 이라는 함수를 선언했음.Swift에서는 클래스 안에 변수를 속성이라고하고 함수는 메서드라고 함. 클래스 안의 변수 : 속성 (property)클래스 안의 함수 : 메서드 (method) 이렇게 클래스를 선..
옵셔널 (Optional): 옵셔널이란 변수의 값이 있을 수도 있고 없을 수도 있다는 것을 나타냄. 즉, 변수의 값이 nil값인 아무것도 없는 상태를 가질 수 있다는 것임.이게 무슨소린지 나는 처음에 이해를 잘 못했음. 없으면 0이지 '빈 값'이라는 개념이 있다는 것을 이해하지 못했음. nil값을 가질 수 있는 옵셔널 변수를 선언하기 위해서는 데이터 타입 뒤에 ?를 붙이기만 하면 됨. 아래 예시를 보겠음.말 그대로 데이터 타입 뒤에 ?를 붙여 옵셔널 변수 선언을 했음.이름이 있을 경우에는 name을 그대로 출력하고, 이름이 nil일 경우에는 '손'을 넣어 출력하여"안녕하세요, '이름'님", 혹은 "안녕하세요, '손'님" 이 출력되게 했음. 이처럼 이름이 String값일수도 있고, nil일 수도 있음. 그..
Swift에서 함수의 형태1. 매개변수와 반환값 둘 다 있는 경우// 매개변수와 반환값 둘 다 있는 경우func 함수이름(매개변수1 이름: 매개변수1 타입, 매개변수2 이름: 매개변수2 타입 ...) -> 반환타입 { /* 함수 구현부분 */ return 반환값}Swift에서 함수의 형태는 다음과 같음. 위의 형태는 함수에 매개변수와 반환값이 있는 경우고 상황에따라 매개변수가 없을 수도 있고 반환값이 없을 수도 있음. 2. 매개변수가 없는 경우// 매개변수가 없는 경우func 함수이름() -> 반환타입 { /* 함수 구현부분 */ return 반환값}매개변수가 없는 경우엔 단순히 매개변수를 쓰는 괄호를 비워두면 됨. 3. 반환값이 없는 경우// 반환값이 없는 경우func 함수이름() -> void{..
컬렉션 타입: 데이터들을 한번에 관리할 수 있고 쉽게 사용할 수 있는 타입. 배열, 딕셔너리, 세트 등이 있음.Array(배열): 같은 데이터 타입의 값들을 순서대로 저장하는 List라고 생각하면 됨.배열에는 순서가 있는 상태로 저장이 되어 어떠한 요소에 접근하기 편함. 중복된 값을 허용함.코드를 이렇게 작성해보니 .first, .last로 접근했을 때 오류가 발생Optional(kim) 등등 Optional이라고 뜨는데 이건 다음에 다루겠음.일단 보아하니 배열에 추가를 하게되면 해당 배열에서 가장 마지막에 추가가 되는 것을 알 수 있음.딕셔너리: 순서 없이 키(key)와 값(value)를 한 쌍으로 데이터를 저장하는 컬렉션 타입이번에도 마찬가지로 옵셔널에서 오류가 발생은 했지만 다른 부분은 출력이 잘..
for문간단히 설명하자면첫번째 for문 : name 배열에 있는 요소들을 반복해서 차례대로 출력을 하는 코드임. 배열을 이용해서 반복문을 돌릴 수 있음두번째 for문 : 0부터 4까지 1씩 더해서 반복문을 출력하는 코드임. stride를 이용해서 출력이 가능세번째 for문 : 두번째 for문과 동일한 출력이지만, 두번째 보다 간결하게 사용함. While문위 for문과 동일한 코드로 while문을 작성해봤음. for문보다는 코드가 길어졌음. 첫번째 while문은 i는 0부터 시작, 4미만까지(총 0, 1, 2, 3, = 4회 반복)반복하여 이름을 출력함, 반복할 때마다 i는 1씩 증가두번째 while문은 j는 0부터 시작, 5미만 까지(총 0, 1, 2, 3, 4 = 5회 반복)반복하여 숫자를 출력, 반복..
if문간단한 예시로 코드를 짜봄. a와 b의 if조건문은 성립하기 때문에 정답으로 출력됐지만,c는 "기영"이기 때문에 기철이 아니라서 else 문이 출력됨. else if 문도 한 번 예시코드를 보자면,이런식으로 age 가 8세이상 14세 미만일 경우 "초등학생", 17세 미만일경우 "중학생", 20세 미만일 경우 "고등학생" 으로 표현함마지막은 대학생이라고 해서는 안됨(30세일수도 있기 때문) 하지만 귀찮아서 대학생으로 그냥 적음. 그리고 if let 과 아래에 나올 guard let은 옵셔널 값을 확인하고 해당 값을 일시적으로 변수나 상수에 바인딩하는 Optional Binding 기능을 수행함. 옵셔널은 다음에 공부를 하고 정리할 것이니 일단은 가볍게 정리하고 패스함.여기서 optionalInt:..
상수와 변수상수 : 차후에 변경이 불가능 -> let변수 : 차후에 변경이 가능 -> var코드를 작성해봄. 저 오류는 let a는 변경이 불가능한 상수이기 때문에 1로 선언돼었지만 아래에서 4로 변경했기 때문에 오류가 발생함.그래서 위 처럼 var로 변경해주면 출력이 잘 됨.데이터 타입위에서는 Int형 상수와 변수를 아래와 같이 선언했음let a : Int = 1var b : Int = 4---------------let a = 1var b = 4 // Swift에서는 상수, 변수 선언 시 타입형을 꼭 안쓰고 선언해도 됨. : Int = 11: Float = 1.1: Double = 1.234567890: Bool = true / false: Character = "A": String = "ABC": ..