본문 바로가기

Language/Swift

(4)
Closure (클로저) 이 글은 공부하는 내용을 기반으로 정리하기 위한 목적으로 작성합니다. 언제든 건전한 비판은 환영합니다. 클로저란? 클로저는 함수를 말하는 것이다. 무슨 소리냐면 func 도 함수라고 이야기 할 수 있다. 근데 왜 클로져에 함수라는 이야기가 나오는지???? 먼저 클로져를 알기 전에 2가지 클로져가 있다 named closure, unnamed closure 두 개가 있다. 그렇다면 named closure와 un 먼저 named closure는 그냥 함수이다 func someThing(){ print("someThing") } 위에 것이 named closure이다. 그냥 이것을 함수라고 부른다 unnamed closure는 let someThing = {print("some")} 위에 것이 흔히 클로져라..
클래스 vs 구조체 차이 클래스와 구조체의 차이 - 클래스는 call by reference 이고, 구조체는 call by value 이다. 이게 무슨 이야기냐면 얼핏 보면은 차이점이 없고 청사진을 만들기 위한 속성과 내용이 있는 것은 다름이 없게 느껴진다. 클래스란? Enemy라는 객체가 있고 클래스는 객체에 대한 주소 값을 저장을 한다. 이것을 코드로 먼저 풀어보자면 import Foundation class Enemy{ var health:Int var attackDamage:Int init(health:Int , attackDamage:Int){ self.health = health self.attackDamage = attackDamage } func move(){ print("Enemy move Forward") } ..
클래스와 상속 클래스란? 클래스는 정의하여 객체를 만들고 생성하여 사용할 수 있습니다. 예를 들면 import Foundation class Enemy{ var health:Int = 100 var attackDamage:Int = 10 func move(){ print("Enemy move Forward") } func attack(){ print("Enemy attack \(attackDamage)") } } 이런식으로 객체로 쓸 수 있게 만들었습니다. 그러면 이 클래스를 개체로 쓰기 위해 하나의 파일을 만들어 보겠습니다. import Foundation var enemy:Enemy = Enemy() //클래스에 있는 함수를 사용한다. enemy.move() enemy.attack() //클래스에 있는 멤버변수의 ..
Swift 기본 문법 - 자료형 이 글은 공부한 내용을 기반으로 정리하는 글입니다. 언제든 건전한 비판은 환영합니다. 상수와 변수 스위프트는 함수형 프로그래밍의 패러다임을 채용한 언어이므로 불변 객체를 굉장히 중요시 한다. // 상수 선언 let 변수이름 : 타입 = 값 // 변수 선언 var 변수이름 : 타입 = 값 값이 명확하다면 타입 생략이 가능하지만, 나중에 값을 넣을 경우는 꼭 타입을 명시해줘야 한다. //타입 생략 var number = 123 let str = "kor" //값을 나중에 저장하기 var number : Int let str : String //값 저장 number = 123 str = "kor" - 변수 데이터 vs 상수 데이터 변수는 변경 가능한 데이터지만 상수는 변경 불가한 데이터이다. 그래도 이해가 안..