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

Category135

4 Constant C ์–ธ์–ด์—์„œ ์ƒ์ˆ˜(Constant)๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ณ ์ •๋œ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ƒ์ˆ˜๋Š” ์ฃผ๋กœ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’ ์ค‘์— ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ๋Š” ์ƒ์ˆ˜๋ฅผ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1) Const const ํ‚ค์›Œ๋“œ๋Š” C ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ณ€์ˆ˜๋ฅผ ์ƒ์ˆ˜๋กœ ์„ ์–ธํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. const๋ฅผ ๋ณ€์ˆ˜ ์„ ์–ธ ์•ž์— ๋ถ™์ด๋ฉด, ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์ƒ์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 2) ๊ธฐํ˜ธ ์ƒ์ˆ˜(Symbolic Constant ๋˜๋Š” ๋งคํฌ๋กœ ์ƒ์ˆ˜) ์ฝ”๋“œ ๋‚ด์—์„œ ์ฝ๊ธฐ ์‰ฝ๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋„๋ก ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ ์ƒ์ˆ˜์ž…๋‹ˆ๋‹ค. #define ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜ํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ const๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํƒ€์ž… ์•ˆ์ „์„ฑ์ด๋‚˜ ์ฝ”.. 2024. 1. 23.
3 Variable ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฐธ์กฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์ด ๋ถ™์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ์— ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. C ์–ธ์–ด์—์„œ ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์— ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. C์–ธ์–ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… char C ์–ธ์–ด๋Š” ์ดˆ๊ธฐ์—๋Š” UNIX ์šด์˜ ์ฒด์ œ๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, ์ด ๋•Œ ์‚ฌ์šฉ๋œ ๊ธฐ๊ณ„๋Š” 8๋น„ํŠธ(1๋ฐ”์ดํŠธ) ํฌ๊ธฐ์˜ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ char๋ฅผ 1๋ฐ”์ดํŠธ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ๋‹น์‹œ ํ•˜๋“œ์›จ์–ด์˜ ํŠน์„ฑ์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฐ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, char ํƒ€์ž…์€ ASCII ๋ฌธ์ž ์ง‘ํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ASCII๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ํŠน์ˆ˜ ๋ฌธ์ž ๋“ฑ์„ 7๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ํ‘œ์ค€์œผ๋กœ, char๊ฐ€ 1๋ฐ”์ดํŠธ์ด๋ฉด์„œ 7๋น„ํŠธ๋กœ ํ‘œํ˜„๋˜๋Š” ๊ฒƒ์€ AS.. 2024. 1. 22.
2 Hello world C ์–ธ์–ด๋กœ "Hello, World!"๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ C ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์€ hello.c๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ €์žฅํ•œ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. gcc (GNU Compiler Collection)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ณด๊ธฐ GCC๋Š” GNU Compiler Collection์˜ ์•ฝ์ž๋กœ, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์œ„ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํฌํ•จํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ C, C++, Fortran, Ada, Objective-C, ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. GCC๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜ ์ฒด์ œ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋‹ค๋ฅธ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๋ฐ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ.. 2024. 1. 22.
1 C language - Why do we learn it C ์–ธ์–ด๋Š” 1972๋…„์— ๋ฒจ ์—ฐ๊ตฌ์†Œ์˜ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜(Dennis Ritchie)์™€ ์ผ„ ํ†ฐ์Šจ(Ken Thompson)์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. C ์–ธ์–ด๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ํ•ฉํ•˜๋ฉฐ, ์šด์˜ ์ฒด์ œ, ์ปดํŒŒ์ผ๋Ÿฌ, ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์ €๊ธ‰ ์–ธ์–ด์™€ ๊ณ ๊ธ‰ ์–ธ์–ด์˜ ํŠน์ง•์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ํ•˜๋“œ์›จ์–ด์™€ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜๋ฉด์„œ๋„ ์ƒ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ž…๋‹ˆ๋‹ค. C์–ธ์–ด์˜ ํŠน์ง• ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ• C ์–ธ์–ด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์Šต๋‹ˆ๋‹ค. ์ €์ˆ˜์ค€ ์–ธ์–ด ํŠน์ง• ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ์›จ์–ด์— ์ง์ ‘ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ์ œ์–ด์— ์ ํ•ฉํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด์‹์„ฑ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ํ”Œ.. 2024. 1. 22.
[Algorithm] Time complexity (์‹œ๊ฐ„๋ณต์žก๋„) ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ์— ๋Œ€ํ•ด ์–ผ๋งˆ๋‚˜ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž…๋ ฅ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์†Œ์š”๋˜๋Š” ๊ณ„์‚ฐ ์‹œ๊ฐ„์˜ ์ฆ๊ฐ€ ์ •๋„๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ์„ ๋ถ„์„ํ•˜๊ณ  ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ Running time์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์œ„ 3์ค„ ์งœ๋ฆฌ ์ฝ”๋“œ์˜ ์†Œ์š” ์‹œ๊ฐ„์€ 7ns ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด ์ค€์ˆ˜ํ•œ ์†๋„์™€ ์ •ํ™•์„ฑ์ด ๋’ท๋ฐ›์นจ๋˜์–ด์•ผ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์š” ์‹œ๊ฐ„์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฐ˜๋ณต๋ฌธ์˜ ๊ฒฝ์šฐ๋Š” ์–ด๋–จ๊นŒ์š”? 'Outer loop'์˜ ๊ฒฝ์šฐ 5๋ฒˆ → n๋ฒˆ์ผ ๊ฒฝ์šฐ n๋ฒˆ 'Inner loop'์˜ ๊ฒฝ์šฐ 25๋ฒˆ → n๋ฒˆ์ผ ๊ฒฝ์šฐ n^2๋ฒˆ = 5n^2 + .. 2024. 1. 21.
28 Stream Java์—์„œ์˜ ์ŠคํŠธ๋ฆผ(Stream)์€ Java 8๋ถ€ํ„ฐ ๋„์ž…๋œ ๊ธฐ๋Šฅ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๊ฐ•๋ ฅํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ์ค‘์ ์„ ๋‘” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ์˜ API๋กœ์„œ, ์ปฌ๋ ‰์…˜(๋ฆฌ์ŠคํŠธ, ์„ธํŠธ, ๋งต ๋“ฑ)์ด๋‚˜ ๋ฐฐ์—ด ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ? ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค(์ปฌ๋ ‰์…˜, ๋ฐฐ์—ด)๋ฅผ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ฒƒ ์ŠคํŠธ๋ฆผ(Stream)์€ ์ค‘๊ฐ„ ์—ฐ์‚ฐ(Intermediate Operations)๊ณผ ์ตœ์ข… ์—ฐ์‚ฐ(Terminal Operations)์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š”๋ฐ, ์ค‘๊ฐ„ ์—ฐ์‚ฐ์€ ์ŠคํŠธ๋ฆผ์„ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ํ•„ํ„ฐ๋งํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ตœ์ข… ์—ฐ์‚ฐ์€ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ŠคํŠธ๋ฆผ์„ ๋‹ซ๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆผ ์ฃผ์š” ํŠน์ง• ๋‚ด๋ถ€ ๋ฐ˜๋ณต (I.. 2024. 1. 21.
27 Functional Interface (feat. Lambda) ์ž๋ฐ”์—์„œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ฃผ๋กœ Java 8์—์„œ ์ถ”๊ฐ€๋œ ๋žŒ๋‹ค ํ‘œํ˜„์‹ ๋ฐ ์ŠคํŠธ๋ฆผ API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. Java 8๋ถ€ํ„ฐ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์ด ๋„์ž…๋˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ณ , ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋žŒ๋‹ค ํ‘œํ˜„์‹์€ ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ•˜๋‚˜์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋žŒ๋‹ค ํ‘œํ˜„์‹์œผ๋กœ ํ•ด๋‹น ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์˜ˆ์‹œ 1 ์ฝ”๋“œ ์˜ˆ์‹œ 2 ๋žŒ๋‹ค์‹์€ ๋ฉ”์„œ๋“œ์˜ ์ด๋ฆ„๊ณผ ๋ฐ˜ํ™˜ํƒ€์ž…์„ ์ œ๊ฑฐํ•˜๊ธฐ์— ์ต๋ช… ํ•จ์ˆ˜๋ผ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋” ์ •ํ™•ํ•˜๊ฒŒ๋Š” ์ต๋ช… ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃจ๊ธฐ์œ„ํ•œ ์ฐธ์กฐ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•˜์ฃ ? ์œ„์— ๋žŒ๋‹ค์‹์ด ์—๋Ÿฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ด์œ ๋Š” ๋žŒ.. 2024. 1. 21.
26 Thread ์Šค๋ ˆ๋“œ(Thread)๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์‹คํ–‰ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ํด๋ž˜์Šค๋Š” Thread ํด๋ž˜์Šค์™€ Runnable ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ฐ„๋‹จํ•œ ์Šค๋ ˆ๋“œ ๊ด€๋ จ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ ์ƒ์„ฑ๊ณผ ์‹คํ–‰ ์Šค๋ ˆ๋“œ ์šฐ์„ ์ˆœ์œ„ ์Šค๋ ˆ๋“œ์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•˜๊ฒŒ ๋‹ค๋ค„์ ธ์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ์˜ ์šฐ์„ ์ˆœ์œ„๋Š” ์ •์ˆ˜๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ๋‚ฎ์€ ๊ฐ’์ผ์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” Thread ํด๋ž˜์Šค์˜ ์ƒ์ˆ˜๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’๋“ค์ด ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Thread.MIN_PRIORITY (1): ๊ฐ€์žฅ ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„ Thread.NORM_PRIORITY (5): ๊ธฐ๋ณธ.. 2024. 1. 21.
25 Generics ์ œ๋„ค๋ฆญ์Šค(Generics)๋Š” ์ž๋ฐ”์—์„œ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ์˜ ํƒ€์ž… ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ฝ”๋“œ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž… ๊ด€๋ จ ์˜ค๋ฅ˜๋ฅผ ์‚ฌ์ „์— ๊ฒ€์ถœํ•  ์ˆ˜ ์žˆ์–ด ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์Šค ๋„์ž… ์ด์œ  ์ œ๋„ค๋ฆญ์Šค๊ฐ€ ์—†๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์ปฌ๋ ‰์…˜๊ณผ ๊ด€๋ จ๋œ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํƒ€์ž… ์•ˆ์ •์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๋„ค๋ฆญ์Šค๊ฐ€ ๋„์ž…๋˜๊ธฐ ์ „์—๋Š” ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋“ค์ด Object๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํƒ€์ž…์˜ ๊ฐ์ฒด๋“  ์ €์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1) ํƒ€์ž… ์•ˆ์ •์„ฑ์ด ๋–จ์–ด์ง 2) ํ˜•๋ณ€ํ™˜์‹œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ๋ฐœ์ƒ ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฌธ์ œ์ ๋“ค์„ ์‚ดํŽด๋ณด๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ € ๋ชจ๋‘ O.. 2024. 1. 21.