Skip to content

Latest commit

ย 

History

History
33 lines (33 loc) ยท 3.49 KB

File metadata and controls

33 lines (33 loc) ยท 3.49 KB

Java

Java ์†Œ๊ฐœ

  • ์ฌ(Sun)์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋กœ, ๊ฐ€์ •์šฉ ๋‹จ๋ง๊ธฐ์— ์ ์šฉํ•˜๋ ค๋˜ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“  ์˜คํฌ(OAK)์–ธ์–ด์—์„œ ๋น„๋กฏ๋˜์—ˆ๋‹ค.
  • ์ธํ„ฐ๋„ท์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ์ธํ„ฐ๋„ท ์นœํ™”์ ์ธ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ ๋ฐฉํ–ฅ์„ ์ „ํ™˜ํ•˜์—ฌ 1995๋…„ ์ž๋ฐ”(Java)๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์•Œ๋ ค์ง„๋‹ค.
  • ํ˜„์žฌ ์Šค๋งˆํŠธํฐ๊ณผ ๊ฐ™์€ ์žฅ๋น„์™€ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ธฐ์—… ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ์ค‘์ถ”์ ์ธ ์–ธ์–ด์ด๋‹ค.

Java ํŠน์ง•

  1. ์ด์‹์„ฑ์ด ๋†’์€ ์–ธ์–ด์ด๋‹ค.
    • ์ด์‹์„ฑ : ์„œ๋กœ ๋‹ค๋ฅธ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ฐ€์ง„ ์‹œ์Šคํ…œ ๊ฐ„์— ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฎ๊ฒจ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์„ฑ
    • ์œˆ๋„์šฐ์—์„œ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋ฆฌ๋ˆ…์Šค๋‚˜ ์œ ๋‹‰์Šค์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค -> ์ด์‹์„ฑ์ด ๋†’์Œ
  2. ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค.
    • ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ : ๋ถ€ํ’ˆ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ณ , ํ•˜๋‚˜์”ฉ ์กฐ๋ฆฝ ๋ฐ ์—ฐ๊ฒฐํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•
    • ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋Š” ์บก์Аํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ
  3. ํ•จ์ˆ˜์  ์Šคํƒ€์ผ ์ฝ”๋”ฉ์„ ์ง€์›ํ•œ๋‹ค.
    • ํ•จ์ˆ˜์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ, ์ด๋ฒคํŠธ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ ํ•ฉ
    • ์ž๋ฐ”๋Š” ํ•จ์ˆ˜์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ๋žŒ๋‹ค์‹ Java 8๋ถ€ํ„ฐ ์ง€์›
  4. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.
    • ์ž๋ฐ”๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ์„ค๊ณ„๋จ
    • ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹น, GC(Garbage Collector)๋ฅผ ์‹คํ–‰์‹œ์ผœ ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐํ•ด์คŒ
  5. ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค, ์œ ๋‹‰์Šค, ๋งฅ ๋“ฑ ๋‹ค์–‘ํ•œ OS์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
    • ์ž๋ฐ”๋Š” ๋‹ค์–‘ํ•œ OS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ API๋ฅผ ๋ฌถ์–ด ์—๋””์…˜(edition) ํ˜•ํƒœ๋กœ ์ •์˜ํ•˜๊ณ  ์žˆ์Œ
      • Java SE(Standard Edition): ๊ธฐ๋ณธ ์—๋””์…˜
        • ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” JVM์„ ๋น„๋กฏํ•ด ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ API๋ฅผ ์ •์˜
      • Java EE(Enterprise Edition): ์„œ๋ฒ„์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์—๋””์…˜
        • ๋ถ„์‚ฐ ํ™˜๊ฒฝ(๋„คํŠธ์›Œํฌ, ์ธํ„ฐ๋„ท)์—์„œ ์„œ๋ฒ„์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ API๋ฅผ ์ •์˜
  6. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์™€ ๋Œ€์šฉ๋Ÿ‰ ์ž‘์—…์„ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ธŒ ์ž‘์—…์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ํ•˜๋ ค๋ฉด ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ํ•„์š”
    • ์ž๋ฐ”๋Š” ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ๋ฐ ์ œ์–ด์™€ ๊ด€๋ จ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ API๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰๋˜๋Š” OS์— ์ƒ๊ด€์—†์ด ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  7. ๋™์  ๋กœ๋”ฉ(Dynamic Loading)์„ ์ง€์›ํ•œ๋‹ค.
    • ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์‹คํ–‰๋˜๋Š”๋ฐ, ์ด ๊ฐ์ฒด๋“ค์€ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑ๋จ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋  ๋•Œ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•œ ์‹œ์ ์— ํด๋ž˜์Šค๋ฅผ ๋™์  ๋กœ๋”ฉํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•จ
  8. ๋ง‰๊ฐ•ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ’๋ถ€ํ•˜๋‹ค.
    • ์ž๋ฐ”๋Š” ์˜คํ”ˆ ์†Œ์Šค ์–ธ์–ด์ด๊ธฐ ๋–„๋ฌธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์Œ
    • ๊ฒ€์ฆ๋œ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๋ฉด์„œ ์•ˆ์ „์„ฑ์ด ๋†’์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Œ