๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/Java91

[TIL] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ โ˜๐Ÿป ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ตœ์„ ์˜ ์„ ํƒ - ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„ ? ์ž…๋ ฅ๊ฐ’์ด ์ปค์ง์— ๋”ฐ๋ผ ์ฆ๊ฐ€ํ•˜๋Š” ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ์ตœ์†Œํ™” โœŒ๐Ÿป ์˜์‚ฌ์ฝ”๋“œ pseudocode - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” ์ผ์ƒ ์–ธ์–ด๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜๋Š” ๋…ผ๋ฆฌ๋ฅผ ๋จผ์ € ์ž‘์„ฑ - ๊ฐœ์ธ์˜ ๊ธฐํ˜ธ์— ๋งž๊ฒŒ ์ž‘์„ฑํ•˜๋˜ ์ž์‹ ๋งŒ์˜ ์›์น™์„ ๋งŒ๋“ค์–ด ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ดํ•ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ ๐Ÿ“ ์˜์‚ฌ์ฝ”๋“œ ์‚ฌ์šฉ์˜ ์žฅ์  โ‘  ์‹œ๊ฐ„ ๋‹จ์ถ• - ๋ฌธ์ œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ฑฐ๋‚˜ ์ฝ”๋“œ ์–‘์ด ๊ธธ์–ด์งˆ์ˆ˜๋ก ๊ตฌ์ฒด์ ์ด๊ณ  ์„ธ์„ธํ•œ ๋กœ์ง์˜ ๊ธฐ์–ต์ด ์–ด๋ ค์›€ โ‘ก ๋””๋ฒ„๊น… ์šฉ์ด - ์ฝ”๋“œ ์ž‘์„ฑ ํ›„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์˜์‚ฌ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๋ฉด ์›์ธ ํŒŒ์•… ์šฉ์ด โ‘ข ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ - ๊ฐœ๋ฐœ ์–ธ์–ด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์•„๋„ ์ˆ˜๋„ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด ๋จ ๐Ÿ’ช๐Ÿป ๋ณต์žก๋„ : ๊ณต๊ฐ„ ๋ณต์žก๋„ .. 2022. 5. 31.
[TIL] ์ž๋ฃŒ๊ตฌ์กฐ : ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„, ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ ๐Ÿ™Œ๐Ÿป ํŠธ๋ฆฌ Tree - ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋กœ ์•„๋ž˜์— ์žˆ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ์— ๋ฌด๋ฐฉํ–ฅ์œผ๋กœ ์—ฐ๊ฒจ๋œ ๊ณ„์ธต์  ์ž๋ฃŒ๊ตฌ์กฐ - ๊ทธ๋ž˜ํ”„ ์ค‘ ๋‹จ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋กœ ํ•˜๋‚˜์˜ ๋ฟŒ๋ฆฌ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ง€๊ฐ€ ์‚ฌ๋ฐฉ์œผ๋กœ ๋ป—์€ ํ˜•ํƒœ - ๊ณ„์ธต์ , ๋น„์„ ํ˜•๊ตฌ์กฐ - ex) ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ, ๊ฐ€๊ณ„๋„, ์กฐ์ง๋„, ์ถ•๊ตฌ ๋Œ€์ง„ํ‘œ ๋“ฑ โ–ช๏ธ ๋ฃจํŠธ Root - ํ•˜๋‚˜์˜ ๊ผญ์ง€์  ๋ฐ์ดํ„ฐ๋กœ ๋ฃจํŠธ๋ฅผ ์‹œ์ž‘์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„์„ (edge)๋กœ ์—ฐ๊ฒฐ โ–ช๏ธ ๋…ธ๋“œ Node - ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋…ธ๋“œ๋กœ ํ•˜๋ฉฐ ๋‘ ๋…ธ๋“œ๊ฐ€ ์ƒํ•˜๋กœ ์—ฐ๊ฒฐ๋˜๋ฉด ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง โ–ช๏ธ ๋ฆฌํ”„ Leaf - ํŠธ๋ฆฌ ๊ตฌ์กฐ์˜ ๋ ์ง€์ ์œผ๋กœ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ์—†์Œ ๐Ÿ“ ํŠธ๋ฆฌ ๋ฉ”์„œ๋“œ โ‘  addChildNode(value) - ์ž…๋ ฅ๋ฐ›์€ value๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ์ถ”๊ฐ€ โ‘ก removeChildNode(node) - ์ž…๋ ฅ๋ฐ›์€ ๋…ธ๋“œ๋ฅผ ์‚ญ์ œ โ‘ข getChi.. 2022. 5. 29.
[TIL] ์ž๋ฃŒ๊ตฌ์กฐ : ์Šคํƒ, ํ ๐Ÿ™๐Ÿป ์ž๋ฃŒ๊ตฌ์กฐ - ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์˜ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ - ์ƒํ™ฉ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์–ด ํŠน์ •ํ•œ ์ƒํ™ฉ์— ๋†“์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ํŠนํ™” ๐Ÿ’ก ๋ฐ์ดํ„ฐ ? - ๋ฌธ์ž, ์ˆซ์ž, ์†Œ๋ฆฌ, ๊ทธ๋ฆผ, ์˜์ƒ ๋“ฑ ์‹ค์ƒํ™œ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฐ’ - ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•˜์—ฌ ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ํ™œ์šฉ์— ์œ ๋ฆฌํ•จ ๐Ÿ“ Stack ์Šคํƒ Stack stack = new Stack(); - ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์Œ“๋Š” ๊ตฌ์กฐ - ๊ฐ์ž์นฉ ํ†ต์ด Stack, ๊ฐ์ž์นฉ์€ ๋ฐ์ดํ„ฐ๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ์Œ - ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด๊ฐ„ ์ฒซ ๋ฒˆ์งธ ๊ฐ์ž์นฉ์€ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋‚˜์˜ค๋ฉฐ, ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ์„ธ ๋ฒˆ์งธ ๊ฐ์ž์นฉ์ด ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ด = LIFO - ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ํ•˜๋‚˜์˜ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ์ œํ•œ์  ์ ‘๊ทผ - ๊ฐ์ž์นฉ์„ ๋„ฃ๋Š” ๊ฒƒ, ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๊ฒƒ.. 2022. 5. 27.
[TIL] ์žฌ๊ท€ํ•จ์ˆ˜ โ˜๐Ÿป ์žฌ๊ท€ํ•จ์ˆ˜ ๐Ÿ’ก ์žฌ๊ท€ Recursion ? ๋ฌธ์ œ๋ฅผ ๋” ์ž‘๊ฒŒ ๋‚˜๋ˆ ๋ณด๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ ์ „์ฒด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ๐ŸŒŸ ์ข…๋ฃŒ ์กฐ๊ฑด์ด ์žˆ์–ด์•ผ ํ•จ - ์ข…๋ฃŒ์กฐ๊ฑด์ด ์—†์œผ๋ฉด ์ž๊ธฐ ์ž์‹ ์„ ๊ณ„์† ํ˜ธ์ถœํ•˜์—ฌ ์—๋Ÿฌ ๋ฐœ์ƒ ๐Ÿ“ ํŒฉํ† ๋ฆฌ์–ผ ๋ฌธ์ œ package code; public class FactorialTest { public static void main(String[] args) { int input = 5; System.out.println(fact(input)); } public static int fact(int n){ if (n 2022. 5. 24.
[TIL] ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹  ๐Ÿซฐ๐Ÿป ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹  (Java Virtual Machine), JVM  - ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋Š” ๋„๊ตฌ - ์ž๋ฐ”๋กœ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋žจ - ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ๊ณผ ์šด์˜์ฒด์ œ ์‚ฌ์ด์˜ ํ†ต์—ญ๊ฐ€ - ์ž๋ฐ”๋Š” C++์ฒ˜๋Ÿผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋ฉด์„œ๋„ ์šด์˜์ฒด์ œ๋กœ ๋ถ€ํ„ฐ ๋…๋ฆฝ๋˜์–ด์žˆ์Œ → ์ž๋ฐ”์˜ ๋…๋ฆฝ์„ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด JVM - ์ž๋ฐ”๋Š” JVM๊ณผ ๋งค๊ฐœํ•˜์—ฌ ์šด์˜์ฒด์ œ์™€ ์†Œํ†ต - ๊ฐ ์šด์˜์ฒด์ œ์— ์ ํ•ฉํ•œ ๋ฒ„์ „์˜ JVM์ด ๋”ฐ๋กœ ์กด์žฌํ•จ → ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•˜์—ฌ ๋…๋ฆฝ์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ ๐Ÿ“ JVM ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ : Runtime Data Area - JVM์— ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ๋กœ๋“œ๋˜์–ด ์‹คํ–‰๋  ๋•Œ ํŠน์ • ๊ฐ’์ด๋‚˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ, ๊ฐ์ฒด, ๋ณ€์ˆ˜ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด์•ผ ํ•จ → ์ด๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด.. 2022. 5. 22.
[TIL] ์Šค๋ ˆ๋“œ ๐Ÿคฒ๐Ÿป ์Šค๋ ˆ๋“œ Thread - ํ•˜๋‚˜์˜ ์ฝ”๋“œ ์‹คํ–‰ ํ๋ฆ„ ๐Ÿ“ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ Multi-Thread - ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‘ ๊ฐ€์ง€ ์ด์ƒ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šค๋ ˆ๋“œ - ํ”„๋กœ์„ธ์Šค ? ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ - ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—์„œ์˜ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น - ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์—†์Œ ๐Ÿ“ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ Main-Thread - main() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ์‹œ์ž‘๋จ - main()๋ฉ”์„œ๋“œ์˜ ์ฒซ ์ฝ”๋“œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๋งˆ์ง€๋ง‰ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ return๋ฌธ ๋งŒ๋‚˜๋ฉด ์ข…๋ฃŒ๋จ - ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ - ์ž‘์—… ์ค‘ ํ•„์š”์— ๋”ฐ๋ผ ์Šค๋ ˆ๋“œ๋“ค์„ ๋งŒ๋“ค์–ด ๋ณ‘๋ ฌ๋กœ ์ฝ”๋“œ ์‹คํ–‰ ๊ฐ€๋Šฅ ๐Ÿ’ก ExecutorService ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - ๋ณ‘๋ ฌ ์ž‘์—… ์‹œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - .. 2022. 5. 22.
[TIL] ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๐Ÿ‘๐Ÿป ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๐Ÿ“ InputStream, OutputStream : ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ - ์ŠคํŠธ๋ฆผ์€ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Œ → ๋•Œ๋ฌธ์— ์ž…์ถœ๋ ฅ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ ์ŠคํŠธ๋ฆผ ํ•„์š” - ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜์€ ์ž…์ถœ๋ ฅ ๋‹จ์œ„๊ฐ€ 1byte โ–ช๏ธ FileInputStream : ํŒŒ์ผ ๋‚ด์šฉ ์ฝ๊ธฐ - ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ๋‚ด์šฉ์„ ๋ฐ”์ดํŠธ๋กœ ์ž…๋ ฅ๋ฐ›์•„ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค - InputStream์„ ์ƒ์†๋ฐ›์Œ - ์ถœ๋ฐœ ์ง€์ ๊ณผ ๋„์ฐฉ ์ง€์ ์„ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต๋กœ(์ŠคํŠธ๋ฆผ) ์ƒ์„ฑ - ์‚ฌ์šฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋А๋ฆผ → ๋ฒ„ํผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์™€ ๋งŽ์ด ์‚ฌ์šฉ - ๋ฒ„ํผ ? ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ์—ฌ๋Ÿฌ ๋ฐ”์ดํŠธ๋ฅผ ์ €์žฅํ•˜์—ฌ ํ•œ๋ฒˆ์— ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…์ถœ๋ ฅ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ž„์‹œ ์ €์žฅ๊ณต๊ฐ„ - BufferedInputSt.. 2022. 5. 21.
[TIL] ์ŠคํŠธ๋ฆผ ๐Ÿ’ช๐Ÿป ์ŠคํŠธ๋ฆผ Stream - ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„ - ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜์„ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์ฒ˜๋ฆฌ - ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜ ์ธ์Šคํ„ด์Šค์— ํ•จ์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์กฐํ•ฉํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ๊ฐ€๊ณต๋œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ - ์ฝ”๋“œ์˜ ์–‘์„ ์ค„์ด๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ = ์ €์žฅ๊ณต๊ฐ„ ํ•„์š” ์—†์Œ - ๋ฐฐ์—ด, ์ปฌ๋ ‰์…˜์˜ ์ €์žฅ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐธ์กฐํ•ด์„œ ๋žŒ๋‹ค์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฐ˜๋ณต์ž - ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” ํ’๋ถ€ํ•œ ๋ฉ”์„œ๋“œ ์ œ๊ณต ๐Ÿ“ ์ŠคํŠธ๋ฆผ ํŠน์ง• 1๏ธโƒฃ ์„ ์–ธํ˜• - ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ? ์–ด๋–ป๊ฒŒ ๋ณด๋‹ค๋Š” ๋ฌด์—‡์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ๊ด€์‹ฌ์„ ๋‘๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์„ ์–ธํ˜• ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋‚ด๋ถ€ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋ชฐ๋ผ๋„ ์ฝ”๋“œ๊ฐ€ ๋ฌด์Šจ ์ผ ํ•˜๋Š”์ง€ ์ดํ•ด ๊ฐ€๋Šฅ 2๏ธโƒฃ ๋žŒ๋‹ค์‹์œผ๋กœ ์š”์†Œ ์ฒ˜๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ œ๊ณต - ์ŠคํŠธ๋ฆผ์ด ์ œ๊ณตํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์š”์†Œ ์ฒ˜๋ฆฌ ๋ฉ”์†Œ๋“œ๋Š” ํ•จ์ˆ˜์  ์ธํ„ฐํŽ˜์ด์Šค .. 2022. 5. 21.
[TIL] ๋žŒ๋‹ค ๐Ÿ‘Œ๐Ÿป ๋žŒ๋‹ค Lambda ( ๋งค๊ฐœ๋ณ€์ˆ˜ ) -> { ์‹คํ–‰์ฝ”๋“œ } - ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์‹์œผ๋กœ ํ•จ์ˆ˜ ์ง€ํ–ฅ ์–ธ์–ด์— ๊ฐ€๊นŒ์›€ - ์ˆ˜ํ•™์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณด๋‹ค ๋‹จ์ˆœํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• - ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ์ฝ”๋“œ ๋ธ”๋ก์ด์ง€๋งŒ ๋Ÿฐํƒ€์ž„์— ์ต๋ช… ๊ตฌํ˜„ ๊ฐ์ฒด ์ƒ์„ฑ ๐Ÿ’ก ์ž๋ฐ”์—์„œ ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? : ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋ฐ” ์ฝ”๋“œ๊ฐ€ ๋งค์šฐ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ  ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๋งคํ•‘ํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ ์ง‘๊ณ„ ์‰ฌ์›€ ๐Ÿ“๋žŒ๋‹ค์‹ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• 1๏ธโƒฃ ๊ธฐ๋ณธ์ž‘์„ฑ (ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜) -> { ... } - ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ค‘๊ด„ํ˜ธ ์‹คํ–‰๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค๋Š” ์˜๋ฏธ 2๏ธโƒฃ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 1๊ฐœ ์ผ ๋•Œ ( ) ์ƒ๋žต ๊ฐ€๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜ -> { ... } - ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด ๊ด„ํ˜ธ ์ƒ๋žตํ•˜๋ฉด ์•ˆ ๋จ - ํ•˜๋‚˜์˜ ์‹คํ–‰๋ฌธ๋งŒ ์žˆ๋‹ค๋ฉด ์ค‘๊ด„ํ˜ธ๋„ ์ƒ๋žต ๊ฐ€๋Šฅ 3๏ธโƒฃ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ .. 2022. 5. 20.