Search
Duplicate

CS, Language, IT ์ง€์‹ ๊ด€๋ จ

ํƒœ๊ทธ
1 more property

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ๋ฐ ์ปดํŒŒ์ผ ์–ธ์–ด์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์ 

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
โ€ข
python, ruby, php
โ€ข
์ปดํŒŒ์ผ ๋‹จ๊ณ„ ์—†์ด ์‹คํ–‰ ๋‹จ๊ณ„์—์„œ ํ•œ์ค„์”ฉ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ ํ›„ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ†ต์ƒ ์ปดํŒŒ์ผ ์–ธ์–ด๋ณด๋‹ค ์‹คํ–‰์ด ๋Š๋ฆฌ๊ณ  ์ „์ฒด ์ฝ”๋“œ์— ๋Œ€ํ•œ ์‹คํ–‰ ์ฝ”๋“œ ์ตœ์ ํ™”๊ฐ€ ์–ด๋ ค์›€
์ปดํŒŒ์ผ ์–ธ์–ด
โ€ข
C/C++, JAVA
โ€ข
์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์ „์— ์ปดํŒŒ์ผ๋˜์–ด, ๊ธฐ๊ณ„์–ด ์ƒํƒœ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ์‹คํ–‰์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์ „์ฒด ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์ตœ์ ํ™” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜์—ฌ, ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Œ

๋™๊ธฐ์‹๊ณผ ๋น„๋™๊ธฐ์‹์˜ ์ฐจ์ด์ , ์žฅ๋‹จ์ 

๋™๊ธฐ์‹
โ€ข
์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์‘๋‹ต์ด ์˜ค๋ฉด ๋‹ค์Œ ์š”์ฒญ์„ ํ•˜๋Š” ๋ฐฉ์‹
โ€ข
๊ตฌ์„ฑ์ด ๋‹จ์ˆœํ•˜๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์€ ๋ถˆ๊ฐ€ํ•˜๋‹ค
๋น„๋™๊ธฐ์‹
โ€ข
์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋™์ž‘์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ์‹
โ€ข
๋™์‹œ์— ์—ฌ๋Ÿฌ ์ผ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์š”์ฒญ๋Ÿ‰์ด ๋งŽ์•„์งˆ ๊ฒฝ์šฐ ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์žฅ๋‹จ์ 

์ด์œ , ์žฅ์ 
โ€ข
๋ฐ์ดํ„ฐ๋ฅผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ๊ฒ€์ƒ‰๊ณผ ์ •๋ ฌ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
๋‹จ์ 
โ€ข
๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ๋ณ€๊ฒฝ์ด ์ˆ˜์‹œ๋กœ ์ผ์–ด๋‚˜๋ฉด ๋งค๋ฒˆ ์ธ๋ฑ์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•ด์•ผํ•จ

SQL๊ณผ NoSQL์˜ ์ฐจ์ด

SQL (๊ด€๊ณ„ํ˜• DB)
โ€ข
RDBMS์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ˆ˜์ •, ์‚ญ์ œ ๋ฐ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค
โ€ข
๋ฐ์ดํ„ฐ๋Š” ์ •ํ•ด์ง„ ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ๋Š” ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋ถ„์‚ฐ๋œ๋‹ค.
โ€ข
์Šคํ‚ค๋งˆ๋ฅผ ์ค€์ˆ˜ํ•˜์ง€ ์•Š์€ ๋ ˆ์ฝ”๋“œ๋Š” ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋‹ค.
SQL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
โ€ข
๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ
โ€ข
๋ณ€๊ฒฝ๋  ์—ฌ์ง€๊ฐ€ ์—†๊ณ , ๋ช…ํ™•ํ•œ ์Šคํ‚ค๋งˆ๊ฐ€ ์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ์—๊ฒŒ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ
NoSQL (๋น„๊ด€๊ณ„ํ˜• DB)
โ€ข
์Šคํ‚ค๋งˆ๋„ ์—†๊ณ , ๊ด€๊ณ„๋„ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
โ€ข
๋‹ค๋ฅธ ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ™์€ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
โ€ข
๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฌธ์„œ(Document)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. documents๋Š” Json๊ณผ ๋น„์Šทํ•œ ํ˜•ํƒœ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, RDBMS์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋‚˜๋ˆ„์–ด ๋‹ด์ง€ ์•Š๊ณ , ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ผํ•œ '์ปฌ๋ ‰์…˜'์— ๋„ฃ๋Š”๋‹ค.
NoSQL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
โ€ข
์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์•Œ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ/ํ™•์žฅ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ
โ€ข
์ฝ๊ธฐ๋ฅผ ์ž์ฃผ ํ•˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์€ ์ž์ฃผ ์—†๋Š” ๊ฒฝ์šฐ
โ€ข
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜ํ‰์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๊ฒฝ์šฐ(๋ง‰๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ)

SQL๊ณผ NoSQL์˜ ์žฅ๋‹จ์ 

SQL (๊ด€๊ณ„ํ˜• DB)
์žฅ์ 
โ€ข
๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ์Šคํ‚ค๋งˆ, ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
โ€ข
๊ด€๊ณ„๋Š” ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์—†์ด ํ•œ๋ฒˆ๋งŒ ์ €์žฅ
๋‹จ์ 
โ€ข
๋œ ์œ ์—ฐํ•˜๋‹ค. ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์ „์— ๊ณ„ํšํ•˜๊ณ  ์•Œ๋ ค์•ผ ํ•จ. (๋‚˜์ค‘์— ์ˆ˜์ •์ด ํž˜๋“ค๋‹ค)
โ€ข
๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ์–ด์„œ ์กฐ์ธ๋ฌธ์ด ๋งŽ์€ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๋Œ€์ฒด๋กœ ์ˆ˜์ง์  ํ™•์žฅ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.
NoSQL (๋น„๊ด€๊ณ„ํ˜• DB)
์žฅ์ 
โ€ข
์Šคํ‚ค๋งˆ๊ฐ€ ์—†์–ด์„œ ์œ ์—ฐํ•˜๋‹ค. ์–ธ์ œ๋“ ์ง€ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ •ํ•˜๊ณ  ์ƒˆ๋กœ์šด ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ
โ€ข
๋ฐ์ดํ„ฐ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”๋กœ ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด ๋ฐ์ดํ„ฐ ์ฝ์–ด์˜ค๋Š” ์†๋„๊ฐ€ ๋นจ๋ผ์ง
โ€ข
์ˆ˜์ง ๋ฐ ์ˆ˜ํ‰ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ชจ๋“  ์ฝ๊ธฐ/์“ฐ๊ธฐ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
๋‹จ์ 
โ€ข
์œ ์—ฐ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฒฐ์ •์„ ๋ฏธ๋ฃจ๊ฒŒ ๋  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•ด์•ผํ•œ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์ปฌ๋ ‰์…˜์— ์ค‘๋ณต๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ • ์‹œ ๋ชจ๋“  ์ปฌ๋ ‰์…˜์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค. (SQL์—์„œ๋Š” ์ค‘๋ณต ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํ•œ๋ฒˆ๋งŒ ์ˆ˜ํ–‰ํ•ด๋„ ๊ฐ€๋Šฅ)

Redis์™€ MongoDB (NoSQL)

Redis
โ€ข
NoSQL DB์ด๋‹ค.
โ€ข
key-value ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค
โ€ข
์ธ๋ฉ”๋ชจ๋ฆฌ DB๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ์ข‹์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฅผ ์œ ํ•œํ•˜๊ฒŒ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์บ์‰ฌ ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ๊ธฐํ•œ์ด ์žˆ๊ณ , ๋น ๋ฅธ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ
MongoDB
โ€ข
NoSQL DB์ด๋‹ค.
โ€ข
document ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
โ€ข
mysql์ฒ˜๋Ÿผ ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ฐฉ์‹์œผ๋กœ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ MySQL๊ณผ ๊ฐ™์€ SQL ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ฏ€๋กœ, ๊ฐ€๋ณ€์  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค.

TCP์™€ UDP์˜ ์ฐจ์ด์ 

TCP
โ€ข
์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ๋กœ ํ๋ฆ„์ œ์–ด์™€ ์˜ค๋ฅ˜์ œ์–ด, ํ˜ผ์žก์ œ์–ด๋ฅผ ํ•œ๋‹ค.
โ€ข
End-to-End ์—ฐ๊ฒฐ์„ค์ •์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์— ์‹ ๋ขฐ์„ฑ์„ ๊ฐ€์ง„๋‹ค.
UDP
โ€ข
๋น„์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ๋กœ ํ๋ฆ„์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด, ํ˜ผ์žก์ œ์–ด๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
โ€ข
TCP๋ณด๋‹ค ์†ก์ˆ˜์‹ ์— ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„์š”๋กœ ํ•˜๊ณ  ๋น ๋ฅด๋‹ค.

C++ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ณผ์ •

1. ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„
์ „์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ cpp ํŒŒ์ผ๊ณผ header ํŒŒ์ผ์„ ์ฝ์–ด์™€ ์ธ๋ผ์ธ ์‹œํ‚จ ํ›„ ์ „์ฒ˜๋ฆฐ๋œ ( .i ) ํŒŒ์ผ๋กœ ๋งŒ๋“ ๋‹ค.
โ€ข
C์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์†Œ์Šค๋ฅผ ๋ฌธ๋ฒ•์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜๊ณ , ์ฃผ์„์œผ๋กœ ๋˜์–ด์žˆ๋Š” ๋ฌธ์žฅ์„ ์ œ๊ฑฐํ•˜๋ฉฐ
โ€ข
ํ‚ค์›Œ๋“œ๋กœ ๋ช…์‹œ๋œ ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค์„ ์ฝ๊ณ  ์‹ค์ œ ์ปดํŒŒ์ผ์ด ๊ฐ€๋Šฅํ•œ ์†Œ์Šค๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
2. ์ปดํŒŒ์ผ ๋‹จ๊ณ„
์ปดํŒŒ์ผ๋Ÿฌ๋Š” .i ํŒŒ์ผ์„ ์ปดํŒŒ์ผ ํ•ด ๊ธฐ๊ณ„์–ด์™€ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ์ƒํƒœ์ธ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋ณ€ํ™˜ํ•œ .s ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.
โ€ข
์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋Š” ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค๊ธฐ ์ „ ๊ธฐ๊ณ„์–ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ๋‹จ๊ณ„์˜ ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค.
3. ์–ด์…ˆ๋ธ”๋ง ๋‹จ๊ณ„
์–ด์…ˆ๋ธ”๋Ÿฌ๋Š” .s ํŒŒ์ผ์„ ์–ด์…ˆ๋ธ” ํ•ด 2์ง„์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ธฐ๊ณ„์–ด๋กœ ๋œ .o ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.
โ€ข
์˜ค๋ธŒ์ ํŠธ ์ฝ”๋“œ๋Š” ๋งํฌ ๊ณผ์ •์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ๊ฐ–๊ณ ์žˆ๋‹ค.
4. ๋งํฌ ๋‹จ๊ณ„
๋ง์ปค๊ฐ€ ์˜ค๋ธŒ์ ํŠธ ์ฝ”๋“œ์™€ C ๋˜๋Š” C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ ๋‹ค.
์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€
โ€ข
๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ ์ปค๋„์˜ ๋กœ๋”(ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ธฐ๋Šฅ)๊ฐ€ ์š”๊ตฌํ•˜๋Š” ELF(Executable and Linking Format) ํฌ๋งท์œผ๋กœ ์ €์žฅ๋œ๋‹ค.
โ€ข
์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ COFF(Common Object-File Format) ํฌ๋งท์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

JVM๊ณผ JAVA ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ณผ์ •

JVM
โ€ข
Java Virtual Machine์˜ ์•ฝ์ž๋กœ, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์ž๋ฐ” API ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค
Java ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰๊ณผ์ •
1.
ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด JVM์ด OS๋กœ๋ถ€ํ„ฐ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›๋Š”๋‹ค
2.
์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋œ (.class) ํŒŒ์ผ์„ class ๋กœ๋”๋ฅผ ํ†ตํ•ด JVM์— ๋กœ๋”ฉํ•œ๋‹ค.
3.
๋กœ๋”ฉ๋œ class ํŒŒ์ผ์€ execution engine์„ ํ†ตํ•ด ํ•ด์„๋˜๊ณ , ์‹คํ–‰๋œ๋‹ค.
4.
ํ•„์š”์‹œ garbage collection์„ ์ˆ˜ํ–‰ํ•˜์—ฌ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•œ๋‹ค.

Garbage Collection์ด ํ•„์š”ํ•œ ์ด์œ 

Java ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์„œ ํ•ด์ œํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— Garbage Collection Mechanism์„ ํ†ตํ•ด ๋”์ด์ƒ ํ•„์š”์—†๋Š” ๊ฐ์ฒด๋ฅผ ์ฐพ์•„ ์ง€์šฐ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

Overriding๊ณผ Overloading์˜ ์ฐจ์ด์ 

Overriding
โ€ข
ํ•จ์ˆ˜์˜ ์žฌ์ •์˜
โ€ข
์ƒ์œ„ ํด๋ž˜์Šค์— ์กด์žฌํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜์œ„ ํด๋ž˜์Šค์— ๋งž๊ฒŒ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ (๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ๋™์ผ)
Overloading
โ€ข
ํ•จ์ˆ˜์˜ ์ค‘๋ณต ์ •์˜
โ€ข
๋‘ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‚˜, ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋‚˜ ์ž๋ฃŒํ˜•์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ

C++์˜ abstract class, virtual, interface

๊ฐ€์ƒ ํ•จ์ˆ˜(Virtual Function)
โ€ข
ํŒŒ์ƒ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
โ€ข
์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ๊ฐ์ฒด์˜ ๋™์  ํƒ€์ž…์— ๋”ฐ๋ผ ์‹ค์ œ ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.
์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜(Pure Virtual Function)
โ€ข
๊ฐ€์ƒ ํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ํŒŒ์ƒ ํด๋ž˜์Šค์—์„œ ๋ฐ˜๋“œ์‹œ ์žฌ์ •์˜ํ•ด์•ผ ํ•˜๋Š” ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
โ€ข
์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜์˜ ๋™์ž‘์„ ์ •์˜ํ•˜๋Š” ๋ณธ์ฒด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์•„ ํŒŒ์ƒ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
์ถ”์ƒ ํด๋ž˜์Šค(abstract Class)
โ€ข
ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ถ”์ƒ ํด๋ž˜์Šค๋ผ๊ณ  ํ•œ๋‹ค.
โ€ข
์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ ํŠน์ง•์ธ ๋‹คํ˜•์„ฑ์„ ๊ฐ€์ง„ ํ•จ์ˆ˜์˜ ์ง‘ํ•ฉ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.
โ€ข
์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๋™์ž‘์ด ์ •์˜๋˜์ง€ ์•Š์€ ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋จผ์ € ์ƒ์†์„ ํ†ตํ•ด ํŒŒ์ƒ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ๋งŒ๋“  ํŒŒ์ƒ ํด๋ž˜์Šค์—์„œ ์ˆœ์ˆ˜ ๊ฐ€์ƒ ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•˜๊ณ  ๋‚˜์„œ์•ผ ๋น„๋กœ์†Œ ํŒŒ์ƒ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
์ธํ„ฐํŽ˜์ด์Šค (Optional )
โ€ข
์ถ”์ƒ ํด๋ž˜์Šค๊ฐ€ '์ƒ์„ฑ์ž, ๋ฉค๋ฒ„ ๋ณ€์ˆ˜, ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ'๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋˜๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋Š” '์ถ”์ƒ ๋ฉ”์„œ๋“œ'๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
C++์™€ Java์™€์˜ ์ฐจ์ด์ 
โ€ข
Java๋Š” ์˜ค๋กœ์ง€ ๋‹จ์ผ ์ƒ์†๋งŒ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์ƒ์†“๋ฐ›๋Š” ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ผ๋ฆฌ ์ƒ์†์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ์—ฌ๋Ÿฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒ์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
โ€ข
Java์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์ค‘์ƒ์†์„ ํ†ตํ•ด ๋ฒŒ์–ด์ง€๋Š” ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ํ•˜์ง€๋งŒ C++์—์„œ๋Š” ๋‹ค์ค‘์ƒ์†์„ ๋ฌธ์ œ์—†์ด ์ง€์›ํ•˜์—ฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜๋Š” ์ผ์ด ๊ฑฐ์˜ ์—†๋‹ค.

๋””์ž์ธ ํŒจํ„ด

๋””์ž์ธ ํŒจํ„ด์ด๋ž€?
โ€ข
ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์‹œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ถ”์ƒํ™”๋œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
โ€ข
SW ์žฌ์‚ฌ์šฉ์„ฑ, ํ˜ธํ™˜์„ฑ, ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.