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

java13

Java - ๊ธฐ๋ณธ ๊ตฌ์กฐ - ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ํด๋ž˜์Šค(class)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. - ํด๋ž˜์Šค๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ํ•„๋“œ(field)๋‚˜ ๋ฉ”์†Œ๋“œ(method)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. class ํด๋ž˜์Šค์ด๋ฆ„ { ํ•„๋“œ ์„ ์–ธ ํ•„๋“œ ์„ ์–ธ ... ๋ฉ”์†Œ๋“œ ์„ ์–ธ ๋ฉ”์†Œ๋“œ ์„ ์–ธ ... } class Test { // ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž์˜ ๋ช…์‚ฌ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๊ด€๋ก€ /* ํ•„๋“œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋ฐ์ดํ„ฐํƒ€์ž… ํ•„๋“œ๋ช…; */ int field1; // ํ•„๋“œ ์„ ์–ธ String field2; // ํ•„๋“œ ์„ ์–ธ public void method1() { // ๋ฉ”์†Œ๋“œ ์„ ์–ธ System.out.prinln("์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ!!"); } } main() ๋ฉ”์†Œ๋“œ - ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด main() ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์ฐพ์•„ ๊ทธ ์•ˆ์˜ ๋ชจ๋“  ๋ช…๋ น๋ฌธ์„ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰.. 2023. 6. 28.
Java - ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹คํ–‰ ๊ณผ์ • ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ๋ณด๋‹ค ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด๋ผ๋Š” ํ•œ ๋‹จ๊ณ„๋ฅผ ๋” ๊ฑฐ์ณ์•ผ ํ•˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ์‹คํ–‰ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ (Java compiler) ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ž๋ฐ”๋ฅผ ๊ฐ€์ง€๊ณ  ์ž‘์„ฑํ•œ ์ž๋ฐ” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ(0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ”๋“œ)๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ž๋ฐ”๋ฅผ ์„ค์น˜ํ•˜๋ฉด javac.exe ์‹คํ–‰ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์„ค์น˜๋œ๋‹ค. - JIT์ปดํŒŒ์ผ(Just In Time) : ์‹คํ–‰ํ™˜๊ฒฝ์— ๋งž๋Š” JVM์„ ์„ค์น˜ํ•˜๋ฉด ์šด์˜์ฒด์ œ ๋ณ„๋กœ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ์ปดํŒŒ์ผ ์‹œ์ ์— ๋งž์ถฐ์„œ ๋ฒˆ์—ญ ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ (Java bytecode) ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋œ ์ž๋ฐ” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์˜๋ฏธ. ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ณ€ํ™˜๋˜๋Š” ์ฝ”.. 2023. 6. 28.
Java - ๊ฐœ์š” (๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) - ์œˆ๋„์šฐ, ๋งฅOS, ๋ฆฌ๋ˆ…์Šค ๋“ฑ ๋ชจ๋“  ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ - ๋ฉ”๋ชจ๋ฆฌ(RAM)๋ฅผ ์ž๋™ ์ •๋ฆฌํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์šฉ์ด - ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Open source Library)๊ฐ€ ํ’๋ถ€ - ๋จผ์ € ๊ฐ์ฒด(๋ถ€ํ’ˆ)๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฐ์ฒด๋“ค์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๋” ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑ์‹œํ‚ค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP)์— ์ตœ์ ํ™”๋œ ์–ธ์–ด 1) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Object-Oriented Programming, OOP)์ด๋ž€ - ๊ฐ์ฒด๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ณ  ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์„ ์กฐ๋ฆฝํ•ด์„œ ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•๋ก  - ์—ฌ๋Ÿฌ ๋…๋ฆฝ์ ์ธ ๋ถ€ํ’ˆ๋“ค์˜ ์กฐํ•ฉ, ์ฆ‰ ๊ฐ์ฒด๋“ค์˜ ์œ ๊ธฐ์ ์ธ ํ˜‘๋ ฅ๊ณผ ๊ฒฐํ•ฉ์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ (1) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์  - .. 2023. 6. 28.