๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT์ž๊ฒฉ์ฆ ๊ณต๋ถ€/์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ํ•„๊ธฐ

[์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜• - ํ•„๊ธฐ] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ™œ์šฉ

by yunamom 2022. 5. 5.
๋ฐ˜์‘ํ˜•

โœจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ž€? 

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ๋™์ž‘์‹œํ‚ค๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด ๋ช…๋ น์–ด๋“ค์˜ ์กฐํ•ฉ, ์ด์ง„๋ฒ•์œผ๋กœ ์ž‘์„ฑ๋˜๊ฑฐ๋‚˜ ๋ณ€ํ™˜๋˜์–ด ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ• ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
Bit Binary Digit์˜ ์•ฝ์นญ, ์ด์ง„๋ฒ•์„ ์ด์šฉ, 1byte = 8bit
Byte 1B = 8bit, 1bit = 0.125B
Kilobyte 1KB = 8,192bit, 1bit = 0.000122KB
Megabyte 1MB = 8,388,608bit, 1bit = 1.1921e-7MB
Gigabyte 1GB = 8.5899e+9bit, 1bit = 1.1642e-10GB
Terabyte 1TB = 8.7961e+12bit, 1bit = 1.1369e-13TB

 

by yunamom

 

โœจ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ ์š”์†Œ  

 

 ์ž๋ฃŒ๊ตฌ์กฐ 

์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์ปดํ“จํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„ ๊ตฌ์กฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
๋‹จ์ˆœ ๊ตฌ์กฐ
Simple
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… (Int, float, double, char ๋“ฑ)
์„ ํ˜•๊ตฌ์กฐ
Liner
์ž๋ฃŒ๋“ค ์‚ฌ์ด์˜ ์„ ํ›„ ๊ด€๊ณ„๊ฐ€ ์ผ๋Œ€์ผ์ธ ๊ตฌ์กฐ (์—ฐ๊ฒฐ ์ž๋ฃŒ ๊ตฌ์กฐ, ์ˆœ์ฐจ ์ž๋ฃŒ ๊ตฌ์กฐ, ์Šคํƒ, ํ, ๋ฑ)
๋น„์„ ํ˜•๊ตฌ์กฐ
Non-Liner
์ž๋ฃŒ๋“ค ์‚ฌ์ด์˜ ์„ ํ›„ ๊ด€๊ณ„๊ฐ€ ๊ณ„์ธต ๋˜๋Š” ๊ทธ๋ฌผ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๋Š” ๊ตฌ์กฐ (ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„ ๋“ฑ)
ํŒŒ์ผ ๊ตฌ์กฐ
File
๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜์— ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์‹ค์ œ๋กœ ๊ธฐ๋ก๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ (์ˆœ์ฐจํŒŒ์ผ, ์ƒ‰์ธํŒŒ์ผ ๋“ฑ)

 ์•Œ๊ณ ๋ฆฌ์ฆ˜ 

๋„“์€ ์˜๋ฏธ์—์„œ ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ, ์ข์€ ์˜๋ฏธ์—์„œ๋Š” ์–ด๋–ค ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ๋Š” ํ•ด๋ฒ• ์ด๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ‘œํ˜„์€ ์ž์—ฐ์–ด, ์ˆœ์„œ๋„, ์˜์‚ฌ์ฝ”๋“œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
์ž…๋ ฅ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋˜๋Š” ์ž๋ฃŒ๊ฐ€ 0๊ฐœ ์ด์ƒ์ด์–ด์•ผ ํ•จ.
์ถœ๋ ฅ ์ถœ๋ ฅ๋˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ 1๊ฐœ ์ด์ƒ์ด์–ด์•ผ ํ•จ.
๋ช…ํ™•์„ฑ  ๊ฐ ๋ช…๋ น์–ด์˜ ์˜๋ฏธ๊ฐ€ ๋ช…ํ™•ํ•ด์•ผ ํ•จ.
์œ ํ•œ์„ฑ  ์ •ํ•ด์ง„ ๋‹จ๊ณ„๋ฅผ ์ง€๋‚˜๋ฉด ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•จ.
์œ ํšจ์„ฑ ๋ชจ๋“  ๋ช…๋ น์€ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ๋“ค์ด์–ด์•ผ ํ•จ.

 ๊ตฌ์„ฑ์š”์†Œ 

๊ตฌ๋ถ„ ์„ค๋ช…
๋ณ€์ˆ˜ ์–ด๋–ค ๊ฐ’์„ ์ฃผ๊ธฐ์–ต ์žฅ์น˜์— ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„
์‹๋ณ„์ž ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ค€, ๋ณ€์ˆ˜๋ช…์ด ์‹๋ณ„์ž์— ์†ํ•จ.
๋ฐ”์ธ๋”ฉ ๋ณ€์ˆ˜์™€ ๋ณ€์ˆ˜์— ๊ด€๋ จ๋œ ์†์„ฑ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์œผ๋กœ, ์ •์  ๋ฐ”์ธ๋”ฉ๊ณผ ๋™์  ๋ฐ”์ธ๋”ฉ์œผ๋กœ ๊ตฌ๋ถ„

1)์ •์  ๋ฐ”์ธ๋”ฉ(Static binding) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ๊ฐ„ ์ „์— ์†์„ฑ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹
2)๋™์  ๋ฐ”์ธ๋”ฉ(Dynamic binding) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ๊ฐ„์— ์†์„ฑ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹
์„ ์–ธ ๋ณ€์ˆ˜์— ์ด๋ฆ„, ๋ฐ์ดํ„ฐํƒ€์ž… ๋“ฑ์˜ ์†์„ฑ์„ ๋ถ€์—ฌํ•˜๋Š” ์ž‘์—…์œผ๋กœ, ๋ช…์‹œ์  ์„ ์–ธ๊ณผ ๋ฌต์‹œ์  ์„ ์–ธ์œผ๋กœ ๊ตฌ๋ถ„

1)๋ช…์‹œ์  ์„ ์–ธ : ์„ ์–ธ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋‚˜์—ดํ•˜๊ณ  ์†์„ฑ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ์‹
2)๋ฌต์‹œ์  ์„ ์–ธ : ๋ณ„๋„์˜ ์„ ์–ธ๋ฌธ ์—†์ด ๋””ํดํŠธ ๊ทœ์น™์— ์˜ํ•ด ์†์„ฑ์ด ๋ถ€์—ฌ๋˜๋Š” ๋ฐฉ์‹
ํ• ๋‹น ๋ณ€์ˆ˜์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋ฐ”์ธ๋”ฉ(์ •์ /๋™์ ) ํ•˜๋Š” ์ž‘์—…

โœจ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์œ ํ˜• 

๊ตฌ๋ถ„ ์„ค๋ช…
Boolean ํƒ€์ž… True or False ์กฐ๊ฑด์ด ์ฐธ์ธ์ง€ ๊ฑฐ์ง“์ธ์ง€ ํŒ๋‹จํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ
๋ฌธ์ž ํƒ€์ž… ๋ฌธ์ž ํ•˜๋‚˜ (์˜ˆ : 'A')๋ฅผ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ
๋ฌธ์ž์—ด ํƒ€์ž… ๋‚˜์—ด๋œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ
Integer ํƒ€์ž… ์ •์ˆ˜๊ฐ’์„ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ
float ํƒ€์ž… ์†Œ์ˆ˜์ ์„ ํฌํ•จํ•˜๋Š” ์‹ค์ˆ˜๊ฐ’์„ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ
๋ฐฐ์—ด ํƒ€์ž… ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์„œ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ

 Java ์˜ ์ •์ˆ˜ํƒ€์ž… 

๋ฐ์ดํ„ฐํ˜• ๋ฐ”์ดํŠธ ์ˆ˜ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„
byte 1byte -128 ~ 127
short 2byte -32768 ~ 32767
int 4byte -214783648 ~ 2147483647
long 8bye -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 ์—ฐ์‚ฐ์ž ์ข…๋ฅ˜ 

์‚ฐ์ˆ ์—ฐ์‚ฐ์ž
+ ์–‘์ชฝ์˜ ๊ฐ’์„ ๋”ํ•œ๋‹ค.
- ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ ๊ฐ’์„ ๋บ€๋‹ค.
* ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ๊ณฑํ•œ๋‹ค.
/ ์™ผ์ชฝ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.
% ์™ผ์ชฝ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.
์‹œํ”„ํŠธ ์—ฐ์‚ฐ์ž
(๋น„ํŠธ๋ฅผ ์ด๋™์‹œํ‚ค๋Š” ์—ฐ์‚ฐ์ž)
<< ์™ผ์ชฝ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ ๊ฐ’๋งŒํผ ๋น„ํŠธ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
>> ์™ผ์ชฝ๊ฐ’์— ์˜ค๋ฅธ์ชฝ ๊ฐ’๋งŒํผ์˜ ๋ถ€ํ˜ธ ๋น„ํŠธ๋ฅผ ์ฑ„์šฐ๋ฉด์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚จ๋‹ค.
๊ด€๊ณ„์—ฐ์‚ฐ์ž
> ์™ผ์ชฝ ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ ๊ฐ’๋ณด๋‹ค ํฌ๋ฉด true, ์•„๋‹ˆ๋ฉด false
< ์™ผ์ชฝ ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ ๊ฐ’๋ณด๋‹ค ์ž‘์œผ๋ฉด true, ์•„๋‹ˆ๋ฉด false
>= ์™ผ์ชฝ ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ ๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด true, ์•„๋‹ˆ๋ฉด false
<= ์™ผ์ชฝ ๊ฐ’์ด ์˜ค๋ฅธ์ชฝ ๊ฐ’๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด true, ์•„๋‹ˆ๋ฉด false
== ์–‘์ชฝ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด true
!= ์–‘์ชฝ๊ฐ’์ด ๋‹ค๋ฅด๋ฉด true
๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž
(๋‘ ์—ฐ์‚ฐ์ž ์‚ฌ์ด์˜ ๋…ผ๋ฆฌ์ ์ธ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ์—ฐ์‚ฐ์ž)
&& And ๋‘๊ฐœ์˜ ๊ฐ’์ด ๋ชจ๋‘ ์ฐธ์ด๋ฉด true, ์•„๋‹ˆ๋ฉด false
|| or ๋‘๊ฐœ์˜ ๊ฐ’ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด๋ฉด true, ์•„๋‹ˆ๋ฉด false
๋น„ํŠธ์—ฐ์‚ฐ์ž
(0๊ณผ 1์˜ ๊ฐ ์ž๋ฆฌ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, 0 ๋˜๋Š” 1์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ง)
& ๋น„ํŠธ๋กœ ์—ฐ์‚ฐํ›„ ๋ชจ๋‘ ์ฐธ์ด๋ฉด true, ์•„๋‹ˆ๋ฉด false
| ๋น„ํŠธ๋กœ ์—ฐ์‚ฐํ›„ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ด๋ฉด true, ์•„๋‹ˆ๋ฉด false
^ ๋น„ํŠธ๋กœ ์—ฐ์‚ฐํ›„ ์„œ๋กœ ๋‹ค๋ฅด๋ฉด true, ์•„๋‹ˆ๋ฉด false
์กฐ๊ฑด๋ฌธ
if ์กฐ๊ฑด์ด ์ฐธ์ธ์ง€ ๊ฑฐ์ง“์ธ์ง€์— ๋”ฐ๋ผ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒ
case/switch ์กฐ๊ฑด์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ๋กœ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ทจํ•˜๊ณ ์ž ํ• ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
๋ฐ˜๋ณต๋ฌธ
while ์ˆ˜์‹์ด ๊ฑฐ์ง“์ด ๋  ๋•Œ ๊นŒ์ง€ ํ•ด๋‹น ๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰
for ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ์ฐธ์ธ ๋™์•ˆ ํ•ด๋‹น ๋ฌธ์žฅ์„ ๋ฐ”๋ณตํ•˜์—ฌ ์‹คํ–‰
do ์ดˆ๊ธฐ๊ฐ’, ์ตœ์ข…๊ฐ’, ์ค‘๊ฐ„๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ๋ฐ˜๋ณต ์‹คํ–‰

โœจ ์‚ฌ์šฉ์ž ์ •์˜ ์ž๋ฃŒํ˜• ํ™œ์šฉ 

๊ตฌ๋ถ„ ์„ค๋ช…
์—ด๊ฑฐ์ฒด ๊ด„ํ˜ธ ์•ˆ์— ์—ฐ์†์ ์ธ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ์ž๋ฃŒํ˜•, ํŠน์ • ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด 1์”ฉ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์ˆ˜ ๋ฐฐ์—ด์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.
๊ตฌ์กฐ์ฒด ๊ด„ํ˜ธ ์•ˆ์— ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒํ˜•
๊ณต์šฉ์ฒด ๊ตฌ์กฐ์ฒด์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๋‚˜ ์กฐ๊ธˆ ๋” ๋ฒ”์ฃผ๊ฐ€ ํฌ๋‹ค.
์ถ”์ƒํ™” ๋ณต์žกํ•œ ๋ฌธ์ œ์˜ ๋ณธ์งˆ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋ฐฐ์ œํ•˜๊ณ  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ„๋žตํ™” ํ•˜๋Š” ๊ธฐ๋ฒ•

๊ธฐ๋Šฅ ์ถ”์ƒํ™”: ์ž…๋ ฅ ์ž๋ฃŒ๋ฅผ ์ถœ๋ ฅ ์ž๋ฃŒ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •
์ž๋ฃŒ ์ถ”์ƒํ™”: ์ž๋ฃŒ์™€ ์ž๋ฃŒ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํผ๋ ˆ์ด์…˜์„ ํ•จ๊ป˜ ์ •์˜
์ œ์–ด ์ถ”์ƒํ™”: ์™ธ๋ถ€ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋ฐ˜์„ ์ถ”์ƒํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•
์ƒ์† ์ƒ์œ„ ์ˆ˜์ค€ ๊ทธ๋ฃน์˜ ๋ชจ๋“  ํŠน์„ฑ์„ ํ•˜์œ„ ์ˆ˜์ค€ ๊ทธ๋ฃน์ด ์ด์–ด๋ฐ›์•„ ์žฌ์‚ฌ์šฉ/ํ™•์žฅ (๋‹จ์ผ ์ƒ์†๊ณผ ๋‹ค์ค‘ ์ƒ์†์ด ์žˆ๋‹ค.)
์ƒ์œ„ ์ˆ˜์ค€์˜ ๊ทธ๋ฃน์ด ๋‹จํ•˜๋‚˜๋งŒ ์กด์žฌํ•  ๋•Œ ์ด๋ฅผ ๋‹จ์ผ์†์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
๊ตฌ์ฒดํ™” ํ•˜์œ„ ์ˆ˜์ค€ ๊ทธ๋ฃน์ด ์ƒ์œ„ ์ˆ˜์ค€ ๊ทธ๋ฃน์˜ ์ถ”์ƒ์ ์ธ ๋ถ€๋ถ„์„ ๊ตฌ์ฒดํ™”

โœจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์œ ํ˜• ๋ถ„๋ฅ˜ 

๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์— ๋”ฐ๋ผ ์ €๊ธ‰์–ธ์–ด์™€ ๊ณ ๊ธ‰์–ธ์–ด๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
์ €๊ธ‰ ์–ธ์–ด ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๊ณ„์–ด (์˜ˆ : ์–ด์…ˆ๋ธ”๋ฆฌ์–ด)
๊ณ ๊ธ‰ ์–ธ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž‘ํ•  ๋•Œ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑ๋œ ์–ธ์–ด (์˜ˆ : C, C++, Java ๋“ฑ )
๋ช…๋ นํ˜• ์–ธ์–ด/์ ˆ์ฐจํ˜• ์–ธ์–ด ๋ช…๋ น์–ด๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (์˜ˆ : FORTRAN, COBOL, PASCAL,C)
ํ•จ์ˆ˜ํ˜• ์–ธ์–ด ์ˆ˜ํ•™์  ์ˆ˜์‹๊ณผ ๊ฐ™์€ ํ•จ์ˆ˜๋“ค๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ตฌ์„ฑํ•ด ํ˜ธ์ถœ (์˜ˆ : LISP)
๋…ผ๋ฆฌํ˜• ์–ธ์–ด ๊ทœ์น™์— ๋Œ€ํ•œ ํ™œ์„ฑํ™” ์กฐ๊ฑด์ด ๋งŒ์กฑ๋˜๋ฉด ์—ฐ๊ด€๋œ ๊ทœ์น™์ด ์‹คํ–‰ (์˜ˆ : PROLONG)
๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด ๊ฐ์ฒด ๊ฐ„์˜ ๋ฉ”์‹œ์ง€ ํ†ต์‹ ์„ ์ด์šฉํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์˜ˆ : JAVA, C++)
์ปดํŒŒ์ผ ์–ธ์–ด ๊ณ ๊ธ‰์–ธ์–ด -> ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญ, ์‹คํ–‰ ์†๋„๊ฐ€ ๋†’์€ ์žฅ์  (์˜ˆ : FORTAN, PASCAL, C, C++)
์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด ๊ณ ๊ธ‰์–ธ์–ด ๋ช…๋ น๋ฌธ์„ ํ•˜๋‚˜์”ฉ ๋ฒˆ์—ญํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์˜ ์–ธ์–ด, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ ๊ณ„์‚ฐ 
(์˜ˆ : BASIC, PROLOG, LISP, SNOBOL )
ํ˜ผํ•ฉํ˜• ์–ธ์–ด ๊ณ ๊ธ‰์–ด๋ฅผ ์ปดํŒŒ์ผ ํ•˜์—ฌ ์ค‘๊ฐ„์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ๋ฒˆ์—ญ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์˜ ์–ธ์–ด (์˜ˆ : JAVA)

 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์—ญ์‚ฌ 

๊ตฌ๋ถ„ ์„ค๋ช…
FORTRAN 1954~1957๋…„ ์‚ฌ์ด์— IBM์˜ ์กด ๋ฐฐ์ปค์Šค(John Backus)๊ฐ€ ์ค‘์‹ฌ์ด ๋˜์–ด ๋งŒ๋“  ๊ณผํ•™ ์‘์šฉ ๋ชฉ์  ์–ธ์–ด
์ตœ์ดˆ์˜ ๊ณ ๊ธ‰ ์–ธ์–ด ๋ฐ˜๋ณต๋ฌธ, ๋ฐฐ์—ด, ๋ถ„๊ธฐ ๊ฐœ๋…์„ ์ฒ˜์Œ์œผ๋กœ ๋„์ž….
COBOL 1959~1960๋…„ ์‚ฌ์ด์— ๋ฏธ ๊ตญ๋ฐฉ์„ฑ์—์„œ ํ•ด๊ตฐ๊ทธ๋ ˆ์ด์Šค ํ˜ธํผ(Grace Hopper)๊ฐ€ ์ด๋ˆ ํŒ€์— ์˜ํ•ด์„œ
์€ํ–‰์ด๋‚˜ ๋Œ€๊ทœ๋ชจ ํšŒ์‚ฌ๋“ค์˜ 
์‚ฌ๋ฌด์ฒ˜๋ฆฌ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“  ์–ธ์–ด
PASCAL 1971๋…„ ๊ฐœ๋ฐœ๋˜์–ด 1980๋…„๋Œ€ ๋ง๊นŒ์ง€ ๋งŽ์ด ์‚ฌ์šฉ๋œ ๊ต์œก์ ์ธ ๋ชฉ์ ์˜ ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด. 
์ž‘๊ณ  ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ , 
๋ถ„๋ฆฌ ์ปดํŒŒ์ผ ๊ธฐ๋Šฅ, ๋ฌธ์ž์—ด ์กฐ์ž‘, ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ์˜ ํšจ์œจํ™” ๋“ฑ ๊ณ ๊ธฐ๋Šฅ์„ฑ์„ ๊ฐ–์ถค.
C 1972๋…„ ๋ฒจ์—ฐ๊ตฌ์†Œ์˜ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜(Dennis Ritchie)์— ์˜ํ•ด ๊ฐœ๋ฐœ 
UNIX ์šด์˜ ์ฒด์ œ ๊ตฌํ˜„์— ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด.
C++ 1980๋…„๋ถ€ํ„ฐ ๋น„์•ผ๋„ค ์ŠคํŠธ๋กญ์ŠคํŠธ๋ฃน์ด(Bjarne Stroustrup)์ด ๊ฐœ๋ฐœ
C์–ธ์–ด๋ฅผ ํ™•์žฅํ•˜์—ฌ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…์„ ๋„์ž….
JAVA ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์— ๊ธฐ๋ฐ˜์„ ๋‘์ง€๋งŒ C++์˜ ๋งŽ์€ ๊ตฌ์กฐ์™€ ๋ณต์žก์„ฑ์„ ํฌ๊ธฐ,๊ตฌ์กฐ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋‹จ์ˆœํ•˜๋‹ค.
JVM(์ž๋ฐ”๊ฐ€์ƒ๋จธ์‹ ) ์œ„์—์„œ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์‘์šฉ๋ถ„์•ผ์— ์ ํ•ฉํ•˜๊ณ . ์ด์‹์„ฑ์ด ์ข‹์€ ์–ธ์–ด๋กœ ํ‰๊ฐ€๋˜๊ณ  ์žˆ๋‹ค.
JAVASCRIPT 1995๋…„์— ๊ฐœ๋ฐœ๋œ ๊ฐ์ฒด ์ง€ํ–ฅ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด, ์›น ํŽ˜์ด์ง€ ๋™์ž‘์„ ๊ตฌํ˜„ํ•œ๋‹ค.
(HTML ์— ํ•จ๊ป˜ ์ž‘์„ฑ๋˜๋ฉด์„œ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์™ธ๋ถ€๋กœ ๊ณต๊ฐœ๋˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•œ๋‹ค.)
PERL ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ์šฉ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด (CGI์šฉ์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ, ๋ณ€์ˆ˜ ๋ช…์‹œ์  ์„ ์–ธ ํ•„์š” X)
PYTHON ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ  ์ด์‹์„ฑ์ด ์ข‹๋‹ค. ์ตœ๊ทผ ํŠธ๋ Œ๋“œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณต, ์Šคํƒ€ํŠธ์—… ๋ฐ ๊ธ€๋กœ๋ฒŒ ๊ธฐ์—…์—์„œ ๋งŽ์ด ์‚ฌ์šฉ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๋ฉฐ ๊ฐ์ฒด ์ง€ํ–ฅ, ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
C# 2000๋…„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” .NET ์˜ ์ฃผ๋ ฅ ์–ธ์–ด์ธ C#์„ ๊ฐœ๋ฐœ (C++๊ณผ JAVA์˜ ๋น„์ฃผ์–ผ ๋ฒ ์ด์ง์˜ ์žฅ์ ์„ ํ•ฉ์ณ์„œ ๋งŒ๋“  ์–ธ์–ด)
DART 2011๋…„ ๊ตฌ๊ธ€์ด javascript๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ์–ธ์–ด (java๋ž‘ ์œ ์‚ฌํ•œ ๋ฌธ๋ฒ•)
SWIFT 2014๋…„ ์• ํ”Œ์ด ์ž์‚ฌ ์•ฑ ๊ฐœ๋ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (๋น ๋ฅด๊ณ , ํ˜„๋Œ€์ ์ด๊ณ , ์•ˆ์ „ํ•˜๋‹ค)

 ์ ˆ์ฐจ์ง€ํ–ฅ & ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 

์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
๊ฐ์ฒด๋ผ๋Š” ๊ฐœ๋…์ด ๋“ฑ์žฅํ•˜๊ธฐ ์ด์ „์— ๋ชจ๋“ˆ, ๋ณ€์ˆ˜, ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ
ํ”„๋กœ๊ทธ๋žจ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ•ด์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•
์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋ช…๋ น ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑ
๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
๊ฐ์ฒด์™€ ๊ฐ์ฒด ๊ฐ„์˜ ํ†ต์‹ ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๊ตฌํ˜„๋จ
- ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ตฌ์„ฑ์š”์†Œ 3๊ฐ€์ง€ -
๊ฐ์ฒด(Object) ๊ฐœ์ฒด, ์†์„ฑ, ๋ฉ”์†Œ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์˜๋ฏธ

1. ๊ฐœ์ฒด(Entity) : ํ˜„์‹ค ์„ธ๊ณ„์— ๋ณด์ด๋Š” ๋ณธ์งˆ
2. ์†์„ฑ(Attribute) : ์ž๋ฃŒ ์ €์žฅ์†Œ ์—ญํ• , ์ ˆ์ฐจ์ง€ํ–ฅ์—์„œ๋Š” ๋ณ€์ˆ˜์™€ ๋Œ€์‘
3. ๋ฉ”์†Œ๋“œ(Method) : ํ˜ธ์ถœ๋‹จ์œ„ ์˜๋ฏธ, ์ ˆ์ฐจ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•จ์ˆ˜์™€ ๋Œ€์‘
ํด๋ž˜์Šค(Class) ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ์ •์˜ํ•˜๊ณ  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ‹€
๋ฉ”์‹œ์ง€(Message) ๊ฐ์ฒด ๊ฐ„์˜ ํ†ต์‹ ์„ ์˜๋ฏธ

 ๋ผ์ด๋ธŒ ๋Ÿฌ๋ฆฌ ๋ž€? 

๊ตฌ๋ถ„ ์„ค๋ช…
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•„์š”ํ•  ๋•Œ ์ฐพ์•„์„œ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“ˆํ™” ๋˜์–ด ์ œ๊ณต๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ
(๊ตฌ์„ฑ : ๋„์›€๋ง, ์„ค์น˜ํŒŒ์ผ, ์ƒ˜ํ”Œ์ฝ”๋“œ)
ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณ„๋„์˜ ํŒŒ์ผ์„ ์„ค์น˜ํ•ด์•ผ ํ•จ, ๋ˆ„๊ตฌ๋‚˜ ๊ฐœ๋ฐœํ•˜์—ฌ ์„ค์น˜,๊ณต์œ  ๊ฐ€๋Šฅ
๋ชจ๋“ˆ ๊ฐœ๋ณ„ ํŒŒ์ผ์—์„œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
ํŒจํ‚ค์ง€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋“ˆ์„ ํ•œ ๊ฐœ์˜ ํด๋”์— ๋ฌถ์–ด์„œ ์ œ๊ณต

 

300x250

์ฝ”๋“œ