Swift 24

[ Swift ] Serializationμ΄λž€?

검색을 톡해 κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. λ”°λΌμ„œ λΆ€μ •ν™•ν•  μˆ˜λ„ 있고 μΆ”ν›„ μΆ”κ°€ 곡뢀λ₯Ό 톡해 λ‚΄μš©μ΄ 변경될 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. Serializationμ΄λž€? Serializtion을 λ²ˆμ—­ν•˜λ©΄ '직렬화'이닀. μ§λ ¬ν™”λž€ κ°„λ‹¨ν•˜κ²Œ λ§ν•˜μžλ©΄ μ–΄λ–€ 데이터λ₯Ό λ‹€λ₯Έ ν˜•νƒœλ‘œ λ³€ν™˜ν•˜λŠ” 것을 λ§ν•œλ‹€. 이 ν˜•νƒœκ°€ 직렬적(μ‹œκ°„ 순차적)이라 μ§λ ¬ν™”ν•œλ‹€κ³  ν‘œν˜„ν•œλ‹€. 쑰금 더 길게 μ„€λͺ…ν•˜μžλ©΄ 데이터 ꡬ쑰 λ˜λŠ” 객체의 μƒνƒœλ₯Ό 좔후에 μ €μž₯될 수 μžˆκ±°λ‚˜ 전솑될 수 μžˆλŠ”, λ˜λŠ” μž¬κ΅¬μ„±λ  수 μžˆλŠ” ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜λŠ” 과정이닀. 이에 λ°˜λŒ€λ˜λŠ” κ°œλ…μ€ Deserialization이닀. λ²ˆμ—­ν•˜λ©΄ '역직렬화'둜, μ–΄λ– ν•œ ν˜•νƒœλ‘œ λ³€ν™˜λœ 것을 μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” ν˜•νƒœλ‘œ λ³€ν™˜ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. Serialization의 μ˜ˆμ‹œλ₯Ό 보면 쑰금 더 μ™€λ‹ΏλŠ”λ‹€. μ•± ..

Swift 2023.01.18

[ Swift ] μ˜΅μ…”λ„ Optionals

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μ˜΅μ…”λ„ Optionals μ˜΅μ…”λ„μ΄λž€? μ˜΅μ…”λ„ μΆ”μΆœ μŠ€μœ„ν”„νŠΈμ˜ λͺ©ν‘œμ— λ§žλŠ” μ˜΅μ…”λ„ μ‚¬μš© 1. μ˜΅μ…”λ„μ΄λž€? μ˜΅μ…”λ„ Optionals : 선택 사항. 값이 μžˆμ„ μˆ˜λ„, 없을 μˆ˜λ„ μžˆλ‹€. 즉, λ³€μˆ˜ λ˜λŠ” μƒμˆ˜μ˜ 값이 nil(NULL)일 μˆ˜λ„ μžˆλ‹€. μŠ€μœ„ν”„νŠΈμ˜ 언어적 νŠΉμ§• 쀑 ν•˜λ‚˜μΈ 'Safe- μ•ˆμ „ν•œ ν”„λ‘œκ·Έλž˜λ° 지ν–₯'을 λ³΄μ¦ν•˜λŠ” κΈ°λŠ₯이닀. μŠ€μœ„ν”„νŠΈλŠ” μ—„κ²©ν•œ 문법을 가지고 μžˆλŠ”λ°, λ”°λΌμ„œ μ˜΅μ…”λ„ 여뢀에 따라 λ‘˜μ„ λ‹€λ₯Έ νƒ€μž…μœΌλ‘œ κ΅¬λΆ„ν•œλ‹€. (컴파일 였λ₯˜) λ°μ΄ν„°νƒ€μž…? λ˜λŠ” Optional μ˜΅μ…”λ„ μ£Ό μ‚¬μš© λͺ©μ  nil 값을 λŒ€μž…ν•΄μ•Ό ν•  λ•Œ μ΄ˆκΉƒκ°’μ΄ μ—†μ–΄ μ–΄λ–€ 값이 λ“€μ–΄κ°ˆμ§€ λͺ¨λ₯Ό λ•Œ μ „λ‹¬μΈμžμ˜ 값이 잘λͺ»λœ 값일 경우 μ œλŒ€λ‘œ μ²˜λ¦¬ν•˜μ§€ λͺ»ν–ˆμŒμ„ nil둜 ν‘œν˜„ν•  수 μžˆλ‹€. λ§€κ°œλ³€μˆ˜ λΆˆν•„μš” 의..

Swift 2021.09.05

[ Swift ] ν•¨μˆ˜

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. ν•¨μˆ˜ ν•¨μˆ˜λž€? ν•¨μˆ˜μ˜ μ •μ˜μ™€ 호좜 일급 객체, ν•¨μˆ˜ 쀑첩 ν•¨μˆ˜ μ’…λ£Œλ˜μ§€ μ•ŠλŠ” ν•¨μˆ˜ λ°˜ν™˜ 값을 λ¬΄μ‹œν•  수 μžˆλŠ” ν•¨μˆ˜ 1. ν•¨μˆ˜λž€? ν•¨μˆ˜λŠ” μž‘μ—…μ˜ κ°€μž₯ μž‘μ€ λ‹¨μœ„μ΄μž ν•˜λ‚˜μ˜ μž‘μ€ ν”„λ‘œκ·Έλž¨μœΌλ‘œ λ³Ό 수 μžˆλ‹€. μŠ€μœ„ν”„νŠΈμ—μ„œμ˜ ν•¨μˆ˜λŠ” 일급 객체이닀. λ”°λΌμ„œ ν•¨μˆ˜λ₯Ό λ‹€λ₯Έ κ°’λ“€μ²˜λŸΌ ν•˜λ‚˜μ˜ κ°’μœΌλ‘œλ„ μ‚¬μš©ν•  수 μžˆλ‹€. μŠ€μœ„ν”„νŠΈμ—μ„œ ν•¨μˆ˜λŠ” λ‹€λ₯Έ 언어보닀 μžμœ λ„κ°€ λ†’λ‹€. μŠ€μœ„ν”„νŠΈμ˜ ν•¨μˆ˜λŠ” μž¬μ •μ˜(μ˜€λ²„λΌμ΄λ“œ, override)와 쀑볡 μ •μ˜(μ˜€λ²„λ‘œλ“œ, overload)λ₯Ό μ§€μ›ν•œλ‹€. μ˜€λ²„λΌμ΄λ“œ override μž¬μ •μ˜ μžμ‹ ν΄λž˜μŠ€κ°€ λΆ€λͺ¨ν΄λž˜μŠ€μ— μ˜ν•΄ 제곡된 λ©”μ„œλ“œλ₯Ό νŠΉμ •ν•œ ν˜•νƒœλ‘œ λ‹€μ‹œ κ΅¬ν˜„ν•˜λŠ” 것이닀. μ˜€λ²„λ‘œλ“œ overload 쀑볡 μ •μ˜ λ§€κ°œλ³€μˆ˜μ˜ 이름과 νƒ€μž…, λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜κ°€ λ‹€λ₯΄λ‹€λ©΄ 같은 μ΄λ¦„μœΌ..

Swift 2021.09.02

[ Swift ] 흐름 μ œμ–΄(2) - 반볡문 ( for-in ꡬ문, while ꡬ문 )

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. νλ¦„μ œμ–΄(2) - 반볡문 for-in ꡬ문 while ꡬ문 repeat-while ꡬ문 ꡬ문 μ΄λ¦„ν‘œ 1. for-in ꡬ문 νŠΉμ • ꡬ문을 νŠΉμ • 횟수만큼 λ°˜λ³΅ν•΄μ„œ μ‹€ν–‰ν•˜κ³ μž ν•  λ•Œ μ‚¬μš©ν•œλ‹€. 즉, λ°˜λ³΅νšŸμˆ˜κ°€ μ •ν•΄μ Έ μžˆμ„ λ•Œ μ‚¬μš©ν•œλ‹€. continue, break λ“±μ˜ μ œμ–΄ ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€. for-in ꡬ문은 μŠ€μœ„ν”„νŠΈμ˜ κΈ°λ³Έ Collection Type인 λ°°μ—΄, λ”•μ…”λ„ˆλ¦¬, μ„ΈνŠΈμ—μ„œλ„ μœ μš©ν•˜κ²Œ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. μ—¬κΈ°μ„œ λ”•μ…”λ„ˆλ¦¬λŠ” 킀와 κ°’μ˜ 쌍이기 λ•Œλ¬Έμ— μ‹œν€€μŠ€ μ•„μ΄ν…œμ—μ„œ μž„μ‹œ μƒμˆ˜λ‘œ μš”μ†Œκ°€ λ„˜μ–΄κ°ˆ λ•Œ νŠœν”Œλ‘œ μ „λ‹¬λœλ‹€. swift 문법을 더 κ³΅λΆ€ν•˜λ‹€λ³΄λ©΄ for-in ꡬ문보닀 map, filter, flatMap 등을 더 많이 μ‚¬μš©ν•  것이닀. μ‹œν€€μŠ€ μ•„μ΄ν…œμ„ 담을 μž„μ‹œ μƒμˆ˜κ°€ ν•„μš”..

Swift 2021.08.27

[ Swift ] 흐름 μ œμ–΄(1) - 쑰건문 ( if ꡬ문, switch ꡬ문 )

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. 흐름 μ œμ–΄(1) - 쑰건문 if ꡬ문 switch ꡬ문 1. if ꡬ문 μŠ€μœ„ν”„νŠΈμ˜ if ꡬ문은 쑰건의 값이 κΌ­ Bool νƒ€μž…μ΄μ–΄μ•Ό ν•œλ‹€. ν•œ 쑰건문을 μΆ©μ‘±ν•΄ 블둝 λ‚΄λΆ€μ˜ λͺ…령문이 μ‹€ν–‰λ˜λ©΄, 이어진 else if 쑰건을 λ§Œμ‘±ν•˜λ”λΌλ„ μ‹€ν–‰λ˜μ§€ μ•Šκ³  쑰건문을 λΉ μ Έλ‚˜μ˜¨λ‹€. (μ†Œκ΄„ν˜Έ)에 쑰건식을 μ λŠ” 것이 κΈ°λ³Έμ΄μ§€λ§Œ μ†Œκ΄„ν˜Έλ₯Ό μƒλž΅ν•΄λ„ λœλ‹€. var num1: Int = 5 var num2: Int = 5 if num1 >= num2 { print("num1이 num2 이상이닀.") } else if num1 == num2 { //쑰건을 μΆ©μ‘±ν•˜λ”λΌλ„ 이미 μ•žμ˜ 쑰건을 λ§Œμ‘±ν•˜μ—¬ 블둝 λ‚΄λΆ€ λͺ…령문이 μ‹€ν–‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 쑰건문을 λΉ μ Έλ‚˜μ˜¨λ‹€. print("num1이 num2κ³Ό κ°™λ‹€.") } ..

Swift 2021.08.18

[ SWIFT ] μ—°μ‚°μž - μ‚°μˆ  μ—°μ‚°μž, 비ꡐ μ—°μ‚°μž, μ‚Όν•­ 쑰건 μ—°μ‚°μž, λ²”μœ„ μ—°μ‚°μž, nil 병합 μ—°μ‚°μž, λΆ€ν˜Έ λ³€κ²½ μ—°μ‚°μž

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μ—°μ‚°μž μ‚°μˆ  μ—°μ‚°μž 비ꡐ μ—°μ‚°μž μ‚Όν•­ 쑰건 μ—°μ‚°μž λ²”μœ„ μ—°μ‚°μž nil 병합 μ—°μ‚°μž λΆ€ν˜Έ λ³€κ²½ μ—°μ‚°μž λ“€μ–΄κ°€κΈ° μ „, μŠ€μœ„ν”„νŠΈλŠ” 띄어쓰기도 μ€‘μš”ν•œ 문법 으둜, μ—°μ‚°μžλ₯Ό 곡뢀할 λ•Œ 곡백의 μœ„μΉ˜λ₯Ό ν™•μΈν•˜λ©° 곡뢀해야 ν•œλ‹€. μ‚°μˆ  μ—°μ‚°μž μŠ€μœ„ν”„νŠΈλŠ” 데이터 νƒ€μž…μ— ꡉμž₯히 μ—„κ²©ν•˜λ―€λ‘œ μ„œλ‘œ λ‹€λ₯Έ μžλ£Œν˜•λΌλ¦¬μ˜ 연산을 μ—„κ²©νžˆ μ œν•œν•œλ‹€. μ—°μ‚°μž μ˜ˆμ‹œ + 5 + 3 = 8 - 5 - 3 = 2 * 5 * 3 = 15 / λͺ«μ„ λ°˜ν™˜ν•œλ‹€. 5 / 3 = 1 % λ‚˜λ¨Έμ§€λ₯Ό λ°˜ν™˜ν•œλ‹€. μ •μˆ˜μ™€ λ‹€λ₯΄κ²Œ λΆ€λ™μ†Œμˆ˜μ μ€ '%' μ—°μ‚°μžκ°€ μ•„λ‹ˆλΌ 'truncatingRemainder' λ₯Ό μ‚¬μš©ν•œλ‹€. 5 % 3 = 2 let number: Double = 5.0 var result: Double = number.tru..

Swift 2021.08.13

[ SWIFT ] 데이터 νƒ€μž… κ³ κΈ‰(3) - μ—΄κ±°ν˜•

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. 데이터 νƒ€μž… κ³ κΈ‰(3) μ—΄κ±°ν˜• κΈ°λ³Έ μ—΄κ±°ν˜• μ›μ‹œ κ°’ μ—°κ΄€ κ°’ ν•­λͺ© 순회 μˆœν™˜ μ—΄κ±°ν˜• 비ꡐ κ°€λŠ₯ν•œ μ—΄κ±°ν˜• 1. μ—΄κ±°ν˜• : μ—°κ΄€λœ ν•­λͺ©λ“€μ„ λ¬Άμ–΄μ„œ ν‘œν˜„ν•  수 μžˆλŠ” νƒ€μž…. ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ •μ˜ν•΄μ€€ ν•­λͺ© κ°’ μ™Έμ—λŠ” μΆ”κ°€/μˆ˜μ • λΆˆκ°€λŠ₯ μŠ€μœ„ν”„νŠΈμ˜ μ—΄κ±°ν˜•μ€ 각 ν•­λͺ©μ΄ κ·Έ 자체둜 고유의 값이 될 수 μžˆλ‹€. λ”°λΌμ„œ ν•­λͺ©λ³„ 값을 κ°€μ§ˆ μˆ˜λ„ 있고 가지지 μ•Šμ„ μˆ˜λ„ μžˆλ‹€. 각 ν•­λͺ©μ€ μ›μ‹œ κ°’(Raw Value), 즉 μ‹€μ œ 값을 κ°€μ§ˆ 수 μžˆλ‹€. 각 ν•­λͺ©μ€ μ—°κ΄€ κ°’(Assosiated Value)λ₯Ό μ‚¬μš©ν•΄ κ°’μ˜ λ¬ΆμŒμ„ κ΅¬ν˜„ν•  수 μžˆλ‹€. 주둜 switchλ¬Έμ—μ„œ μ‚¬μš©λœλ‹€. μš©λ„ 정해진 선택지λ₯Ό μ£Όκ³  싢을 λ•Œ 정해진 κ°’ μ™Έμ—λŠ” μž…λ ₯λ°›κ³  싢지 μ•Šμ„ λ•Œ μ˜ˆμƒλœ μž…λ ₯ 값이 ν•œμ •λ˜μ–΄ μžˆμ„ λ•Œ 2. κΈ°λ³Έ μ—΄κ±°ν˜• e..

Swift 2021.07.30

[ SWIFT ] 데이터 νƒ€μž… κ³ κΈ‰ (2) - μ»¬λ ‰μ…˜ νƒ€μž… <λ°°μ—΄, λ”•μ…”λ„ˆλ¦¬, μ„ΈνŠΈ>

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. 데이터 νƒ€μž… κ³ κΈ‰(2) - μ»¬λ ‰μ…˜ν˜• μ»¬λ ‰μ…˜ νƒ€μž… λ°°μ—΄ λ”•μ…”λ„ˆλ¦¬ μ„ΈνŠΈ 1. μ»¬λ ‰μ…˜ νƒ€μž… Collection Types SWIFTμ—μ„œ μ»¬λ ‰μ…˜ νƒ€μž…(Collection Type)은 데이터 λ¬ΆμŒμ„ μ˜λ―Έν•œλ‹€. SWIFTμ—μ„œλŠ” 3κ°€μ§€μ˜ μ»¬λ ‰μ…˜ νƒ€μž…μ„ μ œκ³΅ν•œλ‹€. 이 μ„Έ 가지 μ»¬λ ‰μ…˜ νƒ€μž… λͺ¨λ‘ generic collectionsλ₯Ό κ΅¬ν˜„ν•˜κΈ° λ•Œλ¬Έμ— ν•˜λ‚˜μ˜ μ§€μ •λœ νƒ€μž…μ˜ 데이터λ₯Ό 담을 수 μžˆλ‹€. μ’…λ₯˜λ‘œλŠ” λ°°μ—΄, λ”•μ…”λ„ˆλ¦¬, μ„ΈνŠΈ 등이 μžˆλ‹€. let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ μƒμˆ˜λ‘œ μ„ μ–Έν•˜λ©΄ λ³€κ²½ν•  수 μ—†λŠ” μ»¬λ ‰μ…˜ νƒ€μž…μ΄ λœλ‹€. var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ λ³€μˆ˜λ‘œ μ„ μ–Έν•˜λ©΄ λ³€κ²½ν•  수 μžˆλŠ” μ»¬λ ‰μ…˜ νƒ€μž…μ΄ λœλ‹€. μ œλ„€λ¦­ Generic μ œλ„€λ¦­ μ½”λ“œλ‘œ κ΅¬ν˜„λœ 것듀은 μ–΄λ–€ νƒ€μž…μ΄λ“  담을 수 있게 지정할 수 μžˆμŒμ„ 의미..

Swift 2021.07.20

[ SWIFT ] 데이터 νƒ€μž… κ³ κΈ‰ (1)

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. 데이터 νƒ€μž… κ³ κΈ‰(1) 데이터 νƒ€μž… μ•ˆμ‹¬ νƒ€μž… 별칭 νŠœν”Œ 1. 데이터 νƒ€μž… μ•ˆμ‹¬ μŠ€μœ„ν”„νŠΈμ˜ νŠΉμ§• - μ•ˆμ •μ„±. λ”°λΌμ„œ μŠ€μœ„ν”„νŠΈλŠ” νƒ€μž…μ— μ—„κ²©ν•˜λ‹€. μ„œλ‘œ λ‹€λ₯Έ νƒ€μž…λΌλ¦¬μ˜ 데이터 κ΅ν™˜μ€ ν˜•λ³€ν™˜(Type-Casting)이 ν•„μˆ˜μ΄λ‹€. νƒ€μž… μΆ”λ‘  : λ³€μˆ˜λ‚˜ μƒμˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ νŠΉμ • νƒ€μž…μ„ λͺ…μ‹œν•˜μ§€ μ•Šμ•„λ„ μ»΄νŒŒμΌλŸ¬κ°€ ν• λ‹Ήλœ 값을 κΈ°μ€€μœΌλ‘œ νƒ€μž…μ„ κ²°μ •ν•œλ‹€. var test:String = "testμž…λ‹ˆλ‹€." //μœ„ μ½”λ“œμ™€ λ™μΌν•œ μ½”λ“œ var test = "testμž…λ‹ˆλ‹€." //μ»΄νŒŒμΌλŸ¬κ°€ String으둜 νƒ€μž… μΆ”λ‘ ν•œλ‹€. 2. νƒ€μž… 별칭 μŠ€μœ„ν”„νŠΈμ˜ κΈ°λ³Έ νƒ€μž… λ˜λŠ” μ‚¬μš©μž μ •μ˜ νƒ€μž…κ³Ό 같이 이미 μ‘΄μž¬ν•˜λŠ” 데이터 νƒ€μž…μ— μž„μ˜λ‘œ λ‹€λ₯Έ 이름, 즉 별칭을 λΆ€μ—¬ν•  수 μžˆλ‹€. typealias ν‚€μ›Œλ“œ 사..

Swift 2021.07.19

[ SWIFIT ] 데이터 νƒ€μž… κΈ°λ³Έ

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. Chapter 3 데이터 νƒ€μž… κΈ°λ³Έ 1. Int 와 UInt(unsigned Int) μ •μˆ˜ λ²”μœ„ Int : 음의 μ •μˆ˜λΆ€ν„° μ–‘μ˜ μ •μˆ˜κΉŒμ§€ UInt : 0λΆ€ν„° μ–‘μ˜ μ •μˆ˜κΉŒμ§€. (μ΅œλŒ“κ°’μ΄ Int 보닀 크닀) Int의. μ΅œλŒ“κ°’ 이상 UInt의 μ΅œλŒ“κ°’ λ―Έλ§Œμ„ μ‚¬μš©ν•˜κ²Œ λ˜λŠ” 경우 μ΄μ™Έμ—λŠ” Int κ°’ μ‚¬μš© ꢌμž₯ var integer: Int = -100 let unsignedInteger: UInt = 50 let largeInteger: Int64 = Int64.max let smallUnsignedInt : UInt8 = UInt8.min //0 integer = Int(unsignedInteger) //Int와 UIntλŠ” λ‹€λ₯Έ νƒ€μž…μ΄κΈ° λ•Œλ¬Έμ— ν˜•λ³€ν™˜μ΄ ν•„μš”ν•˜λ‹€. 2. Bool b..

Swift 2021.07.11

[ SWIFT ] μŠ€μœ„ν”„νŠΈ 처음 μ‹œμž‘ν•˜κΈ°

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. Chapter 2 μŠ€μœ„ν”„νŠΈ 처음 μ‹œμž‘ν•˜κΈ° 1. λͺ…λͺ… κ·œμΉ™ μœ λ‹ˆμ½”λ“œλ₯Ό ν¬ν•¨ν•œ μ–΄λ–€ λ¬Έμžλ“ μ§€ μ‚¬μš©κ°€λŠ₯ 숫자둜 μ‹œμž‘ν•  수 μ—†λ‹€. μ˜ˆμ•½μ–΄λ‚˜ ν‚€μ›Œλ“œλ‘œ λ“±λ‘λœ 단어 μ‚¬μš©ν•  수 μ—†μŒ 무슨 역할인지 νŒŒμ•…ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. λͺ…사, 동사, μ „μΉ˜μ‚¬λ‘œ 이루어진 단어 μ—°κ²° 클래슀 이름은 λŒ€λ¬Έμž λͺ…μ‚¬λ‘œ μ‹œμž‘ ν•¨μˆ˜λ‚˜ λ©”μ„œλ“œ 이름은 μ†Œλ¬Έμžμ˜ λ™μ‚¬λ‘œ μ‹œμž‘ λ³€μˆ˜λ‚˜ μƒμˆ˜λŠ” μ†Œλ¬Έμžμ˜ λͺ…μ‚¬λ‘œ μ‹œμž‘ μ‹œμž‘ 단어λ₯Ό μ œμ™Έν•œ λͺ¨λ“  λ‹¨μ–΄μ˜ μ‹œμž‘μ€ λŒ€λ¬Έμžλ‘œ ν•˜κ³  그이 μ™Έμ˜ λͺ¨λ“  λ¬ΈμžλŠ” μ†Œλ¬Έμžλ‘œ ν•œλ‹€. let 1stNumber = 1 //X, 숫자둜 μ‹œμž‘ν•  수 μ—†λ‹€ let struct = "ꡬ쑰체" //X, μ˜ˆμ•½μ–΄λ‚˜ ν‚€μ›Œλ“œ μ‚¬μš©λΆˆκ°€ numberOfTable //O, 무슨 역할인지 νŒŒμ•…ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. nt //μ—­ν•  파..

Swift 2021.07.08

[ SWIFT ] μŠ€μœ„ν”„νŠΈλž€?

κ³΅λΆ€ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. Chapter 1. μŠ€μœ„ν”„νŠΈ 1. μŠ€μœ„ν”„νŠΈλž€? ARC (Automatic Reference Counting μžλ™ μ°Έμ‘° 횟수 계산) 지원 -λ©”λͺ¨λ¦¬ 관리 쉬움 컴파일 μ–Έμ–΄ ν”„λ‘œκ·Έλž¨μ„ λΉŒλ“œ, μ‹€ν–‰ν•˜λŠ” κ³Όμ • λΆˆν•„μš”. μ½”λ“œμ˜ κ²°κ³Όλ₯Ό λ°”λ‘œ 확인할 수 μžˆλ‹€. μ–Έμ–΄μ˜ μžμœ λ„κ°€ λ†’λ‹€ 2. μŠ€μœ„ν”„νŠΈμ˜ 언어적 νŠΉμ§• Safe - μ•ˆμ „ν•œ ν”„λ‘œκ·Έλž˜λ° 지ν–₯ μ†Œν”„νŠΈμ›¨μ–΄μ˜ 질 ν–₯상 λͺ©μ  클래슀 Class 문제 해결을 μœ„ν•œ(같은 μ’…λ₯˜μ˜ 집단에 μ†ν•˜λŠ”) 속성과 ν–‰μœ„λ₯Ό μ •μ˜ν•œ 것. 객체가 λ§Œλ“€μ–΄μ§€κΈ° μœ„ν•œ 청사진 ν΄λž˜μŠ€λŠ” λ‹€λ₯Έ 클래슀 λ˜λŠ” μ™ΈλΆ€ μš”μ†Œμ™€ λ…λ¦½μ μœΌλ‘œ λ””μžμΈν•΄μ•Ό ν•œλ‹€ 객체 Object 클래슀의 μΈμŠ€ν„΄μŠ€, μ‹€μ œλ‘œ λ©”λͺ¨λ¦¬μ— ν• λ‹Ήλ˜μ–΄ λ™μž‘ν•˜λŠ” λͺ¨μ–‘을 κ°–μΆ˜ 것. 객체 == 클래슀의 μΈμŠ€ν„΄μŠ€ 객체 != 인슀..

Swift 2021.07.04
728x90