๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+06] ์กฐ๊ฑด๋ฌธ & ๋ฐ˜๋ณต๋ฌธ ์˜ˆ์ œ Algorithm - ์กฐ๊ฑด๋ฌธ & ๋ฐ˜๋ณต๋ฌธ ์˜ˆ์ œ - ์กฐ๊ฑด๋ฌธ & ๋ฐ˜๋ณต๋ฌธ ์˜ˆ์ œ • ์กฐ๊ฑด๋ฌธ Q. ์ž…๋ ฅํ•œ ๊ฐ’์ด 50์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ์‹œ์˜ค. public class Hello { public static void main(String[] args) { int value = 50; /* ๋น„๊ต ์—ฐ์‚ฐ์ž > , 2022. 9. 27.
[D+06] ๋ณต์Šต ๋ฐ ๋ฐ˜๋ณต๋ฌธ ๊ตญ๋น„์ง€์› D+06 - ๋ณต์Šต ๋ฐ ๋ฐ˜๋ณต๋ฌธ - ๋ณต์Šต • if๋ฌธ ์ด๋Ÿฐ์‹์œผ๋กœ ๋งŒ์•ฝ ์กฐ๊ฑด๋ฌธ์— else๊ฐ€ ์—†๋Š” ์ฝ”๋“œ๋Š” ์ œ๋Œ€๋กœ๋œ ์ฝ”๋“œ์ผ๊นŒ? ์ผ๋‹จ์€ else๊ฐ€ ์—†๋Š” ์ฝ”๋”ฉ์€ ๋Œ์•„๊ฐ€๋ฉฐ, ์˜คํžˆ๋ ค else์— ๋น„ํ•ด ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋…์„ฑ์ด ๋” ๋‚˜์€ ์ฝ”๋“œ์ธ๊ฑด ๋งž๋‹ค. ํ•˜์ง€๋งŒ if๋ฌธ์€ else๊ฐ€ ๋”ฐ๋ผ์˜ค๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ด๋ฉฐ, ๋งŒ์•ฝ if์™€ else if์— ๋ชจ๋“  ๋ฒ”์œ„๊ฐ€ ๋‹ค ๋“ค์–ด๊ฐ”๋‹ค๋ฉด else์—๋Š” ๋งŒ์ผ์„ ์œ„ํ•œ ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค. • switch๋ฌธ - spot์„ฑ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ œ์ผ๋•Œ switch๋ฌธ์„ ํ™œ์šฉํ•œ๋‹ค. - ๋‹จ, ๋งŒ์•ฝ spot์„ฑ๊ณผ ๋ฒ”์œ„์ ์ธ ํ‘œํ˜„ํžˆ ๋™์‹œ์— ๋‚˜ํƒ€๋‚ฌ์„ ๊ฒฝ์šฐ์—๋Š” if๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. • ์—ฐ์‚ฐ์˜ ๊ฒฐํ•ฉ ๋ฐ ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์  ์—ฌ๊ธฐ True์™€ ์–ด๋– ํ•œ ์ง„๋ฆฌ๊ฐ’์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ OR์—ฐ์‚ฐ์ž๋กœ ๋ฌธ์ œ.. 2022. 9. 26.
[D+05] ์—ฐ์‚ฐ, ์กฐ๊ฑด๋ฌธ ๊ตญ๋น„์ง€์› D+05 - ์—ฐ์‚ฐ, ์กฐ๊ฑด๋ฌธ - ์—ฐ์‚ฐ ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ•™์—์„œ ์•Œ๊ณ ์žˆ๋Š” ์—ฐ์‚ฐ์˜ ์˜๋ฏธ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ปดํ“จํ„ฐ์—์„œ์˜ ์—ฐ์‚ฐ์€ ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ? ์ปดํ“จํ„ฐ์—์„œ ์—ฐ์‚ฐ์€ ์ปดํ“จํ„ฐ ๋ช…๋ น์–ด ๋™์ž‘๋ฐฉ์‹์ด๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…๋ น๊ณผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋„์ง‘์–ด ๋‚ด๋Š”๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ผ๋Š” ๋ช…๋ น์ด ์ฃผ์–ด์กŒ์„๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๋ช…๋ น Instruction์€ Opcode์™€ Operand ๋‘ํŒŒํŠธ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. Opcode๋Š” Operation code๋กœ ๋ช…๋ น์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ช…๋ น์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, Operand๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋กœ Opcode๊ฐ€ ์—ฐ์‚ฐํ•  ๋Œ€์ƒ๋“ค์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋•Œ์˜ Operand๋Š” 1๊ฐœ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ  ์ตœ๋Œ€ 4๊ฐœ๊นŒ์ง€๋„ ๋“ค์–ด๊ฐˆ .. 2022. 9. 23.
[D+04] JVM๊ณผ JAVA์˜ ๊ตฌ์„ฑ์š”์†Œ ๊ตญ๋น„์ง€์› D+04 - JVM๊ณผ JAVA์˜ ๊ตฌ์„ฑ์š”์†Œ - ์šฐ๋ฆฌ๋Š” ๊ธฐ์กด์— CPU์™€ ๋ฉ”๋ชจ๋ฆฌ์™€์˜ ๊ด€๊ณ„, ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ์ปดํŒŒ์ผ ๋ฐฉ์‹, ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด ์ด๋ก ์ ์œผ๋กœ ํ•™์Šตํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์—ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ๋Š” JAVA๋ผ๋Š” ์–ธ์–ด๋กœ ์œ„์˜ ๋‚ด์šฉ์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ฉด์„œ ํ•™์Šตํ•ด๋ณด๋„๋ก ํ•˜์ž. JVM (JAVA Virtual Machine) JVM์€ ์ž๋ฐ” ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋จธ์‹ ์„ ํ†ตํ•ด ์šด์˜์ฒด์ œ์™€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๋Š” JVM์˜ ๋‹จ์ ์ธ ๋Š๋ฆฐ์†๋„๋ฅผ ๊ฐ์•ˆํ•˜๊ณ  ๊ตณ์ด JVM์„ ๋ผ๊ณ  ์šด์˜์ฒด์ œ์™€ ํ†ต์‹ ์„ ์™œ ํ•ด์•ผํ• ๊นŒ? ์œ„์˜ ๊ทธ๋ฆผ์€ ๋งŒ์•ฝ JVM์ด ์—†์„ ๊ฒฝ์šฐ๋ฅผ ์–ด๋–ค ์ƒํ™ฉ์ด ๋ฐœ์ƒ๋ ์ง€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฆผ์ด๋‹ค. ์—ฌ๊ธฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธ์‚ฌ๋ง์„ ์ฐ์–ด์ฃผ๋Š” ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด "Hello"๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ฝ”๋“œ.. 2022. 9. 22.
[D+03] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ (์ปดํŒŒ์ผ vs ์ธํ„ฐํ”„๋ฆฟ) ๊ตญ๋น„์ง€์› D+03 - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ์€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์˜ ๊ด€์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ ์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฟ์ด๋‹ค. ์ปดํŒŒ์ผ (Compile) - ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ๋งŒ๋“ค์–ด์„œ ํ•œ๊บผ๋ฒˆ์— ์ปดํ“จํ„ฐ์—๊ฒŒ ์ž…๋ ฅํ•œ๋‹ค. - ๋ช…๋ น์˜ ์‹œ์ž‘๊ณผ ๋์„ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ธฐ ๋•Œ๋ฌธ์— ๋ช…๋ น์–ด ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. → ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. - ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ , ๋‚ด์šฉ์„ ๋ฐ”๊ฟ€๋ ค๋ฉด ๋ชป๋ฐ”๊พผ๋‹ค. ์ธํ„ฐํ”„๋ฆฟ (Interpret) - ๋ช…๋ น์–ด๋ฅผ ์ŠคํŒŸ์„ฑ์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ์ž…๋ ฅํ•œ๋‹ค. - ๋ช…๋ น์ด ์–ธ์ œ ๋๋‚ ์ง€ ๋ชฐ๋ผ ์‹œ์ž‘๊ณผ ๋์„ ์ž˜ ์•Œ์ง€ ๋ชปํ•œ๋‹ค. → ์†๋„๊ฐ€ ๋‹ค์†Œ ๋Š๋ฆฌ๋‹ค.. 2022. 9. 22.
[D+03] Flow Chart ๋ฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ• ๊ตญ๋น„์ง€์› D+03 - Flow Chart ๋ฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ• - Flow Chart ํ•™์Šต ๋ฐ ๋ณต์Šต ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ๋กœ์ง(Logic)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋กœ์ง์„ ๊ธ€๋กœ ์งœ๋Š” ๊ฒƒ ๋ณด๋‹ค ๊ทธ๋ฆผ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ค๊ณ„์‹œ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ํ”Œ๋กœ์šฐ์ฐจํŠธ๋Š” ๊ณตํ†ต๋œ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋„๋กœ ํ”Œ๋กœ์šฐ์ฐจํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๋ฅผ ๋ถ„ํ•ดํ•˜๊ณ  ๋ถ„ํ•ดํ•œ ํ•ญ๋ชฉ๋“ค์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํŒ…์ ์ธ ์‚ฌ๊ณ ๋ฅผ ํ•˜๋Š”๋ฐ ์ข‹๋‹ค. (ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ๋Š” ๋‹จ๋ง, ํŒ๋‹จ, ์ฒ˜๋ฆฌ, ํ๋ฆ„์„  ๋งŒ ์•Œ์•„๋„ ํ”Œ๋กœ์šฐ์ฐจํŠธ๋ฅผ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ˆ ๋‚˜๋จธ์ง€๋Š” ์ฐจ์ฐจ ์•Œ์•„๊ฐ€๋„๋ก ํ•œ๋‹ค) ์˜ˆ์ œ ) Q. ์ฒ ์ˆ˜๋Š” ์—„๋งˆ์—๊ฒŒ ์‹ฌ๋ถ€๋ฆ„๊ฐ’ 10,000์›์„ ๋ฐ›์•˜๋‹ค. ์ฒ ์ˆ˜์—„๋งˆ๋Š” ์ฒ ์ˆ˜์—๊ฒŒ ์ฝฉ๋‚˜๋ฌผ 2๊ฐœ์™€ ๋‘๋ถ€ 1๋ชจ๋ฅผ ์‚ฌ์˜ค๋ผ๊ณ  ์‹œ์ผฐ์œผ๋ฉฐ, .. 2022. 9. 21.