์ „์ฒด ๊ธ€ 35

Enumerations

์—ด๊ฑฐํ˜•์€ ๊ด€๋ จ๋œ ๊ฐ’๋“ค์„ ์ •์˜ํ•˜๊ณ , ์ฝ”๋“œ์•ˆ์—์„œ ํƒ€์ž… ์„ธ์ดํ”„ ํ•˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค์— ๊ฐ’์„ ์ œ๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ๋ฌธ์ž์—ด,๋ฌธ์ž,์ •์ˆ˜ ๋“ฑ์œผ๋กœ ์›์‹œ๊ฐ’์„ ์„ค์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋˜๋Š” ์—ด๊ฑฐํ˜•์˜ ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋Š” ๋ชจ๋“  ํƒ€์ž…์˜ ์—ฐ๊ด€๊ฐ’์„ ์„ค์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์—ด๊ฑฐํ˜• ๊ตฌ๋ฌธ (Enumeration Syntax) enum CompassPoint { case north case south case east case west } ์—ด๊ฑฐํ˜• ์•ˆ์˜ (north, south, east, west)์€ ์—ด๊ฑฐํ˜• ์ผ€์ด์Šค (enumeration cases) ์ด๋‹ค. ์—ด๊ฑฐํ˜• ์ผ€์ด์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด case ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. enum Planet { case mercury, venus, earth, mars, jupiter, s..

๐Ÿฆ… Swift 2022.06.15

Closures

ํด๋กœ์ €๋Š” ์ฃผ๋ณ€์— ์ „๋‹ฌ๋˜๊ฑฐ๋‚˜, ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋ธ”๋Ÿญ์„ ๋งํ•œ๋‹ค. ํด๋กœ์ €๋Š” ์ •์˜๋œ ๋ฌธ์žฅ์•ˆ์—์„œ ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ’์„ ์บก์ฒ˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ๋Š” ์บก์ฒ˜๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ „์—ญํ•จ์ˆ˜์™€ ์ค‘์ฒฉํ•จ์ˆ˜๋Š” ํด๋กœ์ €์˜ ๋‹ค๋ฅธ ์ด๋ฆ„์ด๋‹ค. ํด๋กœ์ €๋Š” ์•„๋ž˜ ์„ธ๊ฐ€์ง€ ํ˜•ํƒœ์ค‘ ํ•˜๋‚˜์˜ ํ˜•ํƒœ๋ฅผ ์ทจํ•œ๋‹ค. ์ „์—ญํ•จ์ˆ˜๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‚˜ ๊ฐ’์„ ์บก์ฒ˜ํ•˜์ง€ ์•Š๋Š” ํด๋กœ์ €์ด๋‹ค. ์ค‘์ฒฉํ•จ์ˆ˜๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋‚ด๋ถ€์˜ ํ•จ์ˆ˜๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋กœ์ €์ด๋‹ค. ํด๋กœ์ €ํ‘œํ˜„์‹์€ ์ฃผ๋ณ€ ๋ฌธ์žฅ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์บก์ณํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์ด ์—†๋Š” ๊ฒฝ๋Ÿ‰๊ตฌ๋ฌธ์„ ๋งํ•œ๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ ํด๋กœ์ €ํ‘œํ˜„์‹์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊น”๋”ํ•˜๊ณ  ๋ช…๋ฐฑํ•œ ์Šคํƒ€์ผ์„ ์ถ”๊ตฌํ•œ๋‹ค. ํด๋กœ์ €์˜ ์ตœ์ ํ™”๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•œ๋‹ค. ๋ฌธ์žฅ์„ ํ†ตํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฆฌํ„ด ๊ฐ’์„ ์œ ์ถ”ํ•œ๋‹ค. ๋‹จ์ผ์˜ ํด๋กœ์ €..

๐Ÿฆ… Swift 2022.06.15

Functions

ํ•จ์ˆ˜๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์˜ ๋ฌถ์Œ์ด๋‹ค. ๋™์ž‘์— ๋”ฐ๋ผ ํ•จ์ˆ˜์— ํŠน์ • ์ด๋ฆ„์„ ์„ค์ • ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜ ์ •์˜์™€ ํ˜ธ์ถœ (Defining and Calling Functions) ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ• ๋•Œ ์„ ํƒ์ ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๋˜ํ•œ ๋ฆฌํ„ด ๊ฐ’๋„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ ์˜ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ˜ธ์ถœ์„ ํ•ด์•ผํ•˜๋ฉฐ ์•„๊ทœ๋จผํŠธ์— ๊ฐ’์„ ๋„ฃ์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์•„๊ทœ๋จผํŠธ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆœ์„œ์™€ ํ•ญ์ƒ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜๊ฐ’ (Function Parameters and Return Values) Swift๋Š” ๋งค์šฐ ์œ ์—ฐํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋Š” ํ•จ์ˆ˜ (Functions Without..

๐Ÿฆ… Swift 2022.06.01

Control Flow

Swift๋Š” ๋‹ค์–‘ํ•œ ์ œ์–ด ํ๋ฆ„๋ฌธ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ข…๋ฅ˜๋กœ๋Š” while, if, guard, switch ๊ตฌ๋ฌธ๊ณผ ๋‹ค๋ฅธ ์ฝ”๋“œ์˜ ์‹คํ–‰์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ํ•ด์ฃผ๋Š” break์™€ continue๋ฌธ๋„ ์กด์žฌํ•œ๋‹ค. Swift๋Š” ๋˜ํ•œ ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ๋ฒ”์œ„, ๋ฌธ์ž์—ด, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์—ฐ์†์ ์ธ ๊ฒƒ์— ๋Œ€ํ•œ ๋ฐ˜๋ณต์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๋Š” for-in ๋ฃจํ”„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. For-In ๋ฃจํ”„(For-IN Loops) ๋ฐฐ์—ด์˜ ์š”์†Œ, ํŠน์ • ๋ฒ”์œ„์˜ ์ˆซ์ž, ๋ฌธ์ž์—ด ๊ฐ™์€ ์—ฐ์†์ ์ธ ๊ฒƒ๋“ค์„ for-in ๋ฃจํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ˜๋ณต ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex!..

๐Ÿฆ… Swift 2022.06.01

Collection Types

Swift์—๋Š” 3๊ฐœ(Array,Set,Dictionary)์˜ ์ฝœ๋ ‰์…˜ ํƒ€์ž…์ด ์žˆ๋‹ค. Swift์—์„œ ๋ฐฐ์—ด, ์ง‘ํ•ฉ, ๋”•์…”๋„ˆ๋ฆฌ๋Š” ์–ธ์ œ๋‚˜ ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ํ‚ค๊ฐ’์ด๋‚˜, ํƒ€์ž…์— ๋Œ€ํ•ด ๋ช…ํ™•ํ•˜๋‹ค. NOTEโ—๏ธ Swift์˜ ๋ฐฐ์—ด,์ง‘ํ•ฉ,๋”•์…”๋„ˆ๋ฆฌ์˜ ํƒ€์ž…์€ ์ œ๋„ค๋ฆญ์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค. ์ฝœ๋ ‰์…˜์˜ ๊ฐ€๋ณ€์„ฑ (Mutablility of Collections) ์ฝœ๋ ‰์…˜ ์ƒ์„ฑํ•˜๊ณ  ๋ณ€์ˆ˜์— ํ• ๋‹น ํ–ˆ์„ ๊ฒฝ์šฐ ๋ณ€๊ฒฝ(์ถ”๊ฐ€,์‚ญ์ œ,๋ณ€๊ฒฝ) ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒ์ˆ˜์— ํ• ๋‹นํ•˜๋ฉด ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค. NOTEโ—๏ธ ์ฝœ๋ ‰์…˜์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ณ€๊ฒฝ ์ƒ์ˆ˜๋กœ ์ฝœ๋ ‰์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋” ์‰ฝ๊ฒŒ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๊ณ  Swift ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ƒ์„ฑํ•œ ์ฝœ๋ ‰์…˜์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด (Arrays) ๋ฐฐ์—ด (array)์€ ๊ฐ๊ฐ์˜ ๊ฐ’์— ์ˆœ์„œ์— ๋”ฐ๋ฅธ I..

๐Ÿฆ… Swift 2022.05.22

Strings and Characters

๋ฌธ์ž์—ด(String)์€ ๋ฌธ์ž(Character)์˜ ์—ฐ์†์ด๋‹ค. Swift์˜ String๊ณผ Character ํƒ€์ž…์€ ์‹ ์†ํ•˜๊ณ  ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์ค€์ˆ˜ํ•œ๋‹ค. ๋ฌธ์ž์—ด์€ + ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒฐํ•ฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ ๋ฌธ์ž์—ด ๋ณด๊ฐ„๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ƒ์ˆ˜,๋ณ€์ˆ˜,๋ฆฌํ„ฐ๋Ÿด ๋ฐ ํ‘œํ˜„์‹์„ ๊ธด ๋ฌธ์ž์—ด์— ์‚ฌ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ์ €์žฅ ,์ถœ๋ ฅ์„ ์œ„ํ•œ ์ปค์Šคํ…€ ๋ฌธ์ž์—ด ๊ฐ’์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์ž‡๋‹ค. NOTEโ—๏ธ Swift์˜ String ํƒ€์ž…์€ Foundation์˜ NSString ํด๋ž˜์Šค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. Foundation์„ import ํ•˜๋ฉด ์บ์ŠคํŒ… ์—†์ด String ์—์„œ NSString ๋ฉ”์„œ๋“œ๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด (String Literals) ์ฝ”๋“œ์•ˆ์— ๋ฏธ๋ฆฌ ์„ ์–ธ๋œ String ๊ฐ’์— ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด (stri..

๐Ÿฆ… Swift 2022.05.22

SOLID ์›์น™

SOLID๋ž€? ์›์น™์€ ๊ฐ€์น˜๋ฅผ ์ง€ํ‚ค๊ธฐ์œ„ํ•ด์„œ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐ€์น˜์—๋Š” ๋ฌด์—ˆ์ด ์žˆ์„๊นŒ? ์ฒซ๋ฒˆ์งธ๋กœ๋Š” ๊ฐ€๋…์„ฑ์ด ์ข‹์€ ์ฝ”๋“œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋ฅผ ํ†ตํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ํ•˜๋ฉฐ, ์ฝ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ๋Š” ๊ฐ€์น˜๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‘๋ฒˆ์งธ๋กœ๋Š” ๋‹จ์ˆœํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ๋„์›€์ด ๋˜๊ณ , ๋ฒ„๊ทธ์˜ ๊ฐ€๋Šฅ์„ฑ์ด ์ ์–ด์ง€๋ฉฐ, ์ถ”ํ›„ ์ฝ”๋“œ์˜ ์ˆ˜์ •์— ๋„์›€์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ์ฝ”๋“œ๋Š” ์œ ์—ฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฒฝ์ง๋œ ์ฝ”๋“œ๋Š” ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ์–ด๋ ต๊ฒŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์œ„์— ์–ธ๊ธ‰ํ•œ ์Šคํ”„ํŠธ์›จ์–ด์˜ ๊ฐ€์น˜๋“ค์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์›์น™์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋•Œ ์ด๋Ÿฌํ•œ ๊ฐ€์น˜๋“ค์„ ์ง€ํ‚ค๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ๊ฒƒ์ด SOLID์›์น™์ด๋‹ค S: Single Responsiblity Principle (๋‹จ์ผ ์ฑ…์ž„ ์›์น™) O: Ope..

๐Ÿ€ etc 2022.05.19

[UML] ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ (Sequense Diagram)

Sequense Diagram ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ์ฒด๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€๋งŒ, ์‹œ๊ฐ„์˜ ํ๋ฆ„์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ์„ ํ•œ๋‹ค. Actor ์‚ฌ๋žŒ์ด๋‚˜ ์™ธ๋ถ€์‹œ์Šคํ…œ์„ ์˜๋ฏธ ํ•˜๋ฉฐ, ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋Š” ์™ธ๋ถ€์š”์†Œ์ด๋‹ค. LifeLine ๋ชจ๋ธ๋ง ๋˜๋Š” ๊ฐ๊ฐ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ ์„ ์˜ ์•„๋ž˜๋กœ ๊ฐˆ์ˆ˜๋ก ์‹œ๊ฐ„์˜ ๊ฒฝ๊ณผ๋ฅผ ๋‚˜ํƒ€๋ƒ„ Activations LifeLine์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹ค์ œ๋กœ ์ธ์Šคํ„ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๋ฉฐ ํ™œ์„ฑํ™”๋˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. Message ๊ฐ์ฒด๊ฐ„ ์ฃผ๊ณ  ๋ฐ›์€ ๋ฐ์ดํ„ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์š”์ฒญ(request)๊ณผ ์‘๋‹ต(response)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ฉ”์„ธ์ง€ ์œ ํ˜• 1.๋น„๋™๊ธฐ ๋ฉ”์„ธ์ง€ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ฐ์ฒด๊ฐ€ ๊ณ„์†ํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋™๊ธฐ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆผ. ํ”„..

๐Ÿ€ etc 2022.05.18

[UML] ํด๋ž˜์Šค ๋‹ค์ด์–ด ๊ทธ๋žจ (Class Diagram)

UML ์ด๋ž€? ์•„ํŒŒํŠธ ์‹œ๊ณต์‚ฌ๊ฐ€ ์ž์‹ ๋“ค์ด ์ง€์œผ๋ ค๋Š” ์•„ํŒŒํŠธ๋ฅผ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋ ค ๋ชจ๋ธ ํ•˜์šฐ์Šค๋ฅผ ์ง“๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ๋„ ๊ฐœ๋ฐœ ์ด์ „์— ๋ชจ๋ธ์„ ๋งŒ๋“ ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด UML์ด๊ณ , ์ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฒ”์šฉ ๋ชจ๋ธ๋ง ์–ธ์–ด๋ผ๋Š” ๋œป์ด๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ํ‘œ์ค€์–ธ์–ด๋ผ๋Š” ๋œป์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด UML์„ ์ž‘์„ฑํ•˜๋ฉด ์ข‹์€ ์ ์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ? ํƒ„ํƒ„ํ•˜๊ฒŒ ๊ตฌํ˜„ ๋œ ๋ชจ๋ธ์€ ์ข‹์€ ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค. ํ”„๋กœ์ ํŠธ ํŒ€์›๋“ค๊ฐ„์— ์˜์‚ฌ์†Œํ†ต์„ ์›ํ™œํ•˜๊ฒŒ ๋„์™€์ค€๋‹ค. ํ•œ๋ฒˆ์— ์ดํ•ดํ•˜๊ธฐ ํž˜๋“  ์‹œ์Šคํ…œ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์ดํ•ด๋ฅผ ๋„์™€์ค€๋‹ค. Class DIagram ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๊ฐ์ฒด์ง€ํ–ฅํ˜• ์‹œ์Šคํ…œ ์„ค๊ณ„์—์„œ, ์‹œ์Šคํ…œ์˜ ๋…ผ๋ฆฌ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค๋“ค์˜ ์กด์žฌ์™€ ๊ทธ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๋„์‹ํ™” ํ•œ ๊ฒƒ์ด๋‹ค. ๊ด€๊ณ„์˜ ์ข…๋ฅ˜ Asso..

๐Ÿ€ etc 2022.05.18

[์ž๋ฃŒ๊ตฌ์กฐ] LinkedList

LinkedList๋ž€? ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ(LinkedList)๋Š” ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์œ„์— ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋…ธ๋“œ๋“ค์ด ์—ฐ๊ฒฐ๋œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งํ•œ๋‹ค. ๋…ธ๋“œ๋Š” ๋‘ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š”๋ฐ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ ํฌ์ธํ„ฐ์ด๋‹ค. ๋ฐ์ดํ„ฐ ์˜์—ญ์—๋Š” ๋‹น์—ฐํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ์˜์—ญ์ด๋ฉฐ, ํฌ์ธํ„ฐ๋Š” ๋‹ค์Œ์ด๋‚˜ ์ด์ „์˜ ๋…ธ๋“œ์˜ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๋‹ค๋ฅธ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์„ ๋‹ด๋‹นํ•œ๋‹ค. LinkedList ํŠน์ง• LinkedList์˜ ์ฒซ๋ฒˆ์งธ ํŠน์ง•์œผ๋กœ๋Š” ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๋Š”(์ •์ ํ• ๋‹น) ๋ฐฐ์—ด๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ๊ฐ ๋–จ์–ด์ง„ ๊ณต๊ฐ„์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐ๊ฐ’์„ ํ†ตํ•ด ์—ฐ๊ฒฐํ•ด ๋†“์€ ๊ฒƒ(๋™์ ํ• ๋‹น)์ด๋ผ๋Š” ์ ์ด๋‹ค. ๊ทธ๋ฆผ1 ๋˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ..