BLCAN'S LAB

๋ฐ˜์‘ํ˜•

์ „ ๊ธ€์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋ถ„๋ฅ˜ ๊ธฐ์ค€์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค. 

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

 

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

๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ •๋ง๋กœ ๋‹ค์–‘ํ•˜๋‹ค. C๋ถ€ํ„ฐ Java, C#, python, Go, Swift, PHP, JavaScript ๋“ฑ๋“ฑ ๋๋„ ์—†์ด ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ ๋ฌด์ˆ˜ํžˆ ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ๋‹ค์–‘ํ•œ..

blcan.tistory.com

 

์ด๋ฒˆ์—๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ถ„๋ฅ˜ํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

1. ์ ˆ์ฐจ์  ์–ธ์–ด

 

2. OOP์–ธ์–ด

 

3. ํ•จ์ˆ˜ํ˜• ์–ธ์–ด

 


 

1. ์ ˆ์ฐจ์ (Procedural) ์–ธ์–ด

๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด: C

 

ํŠน์ง•:

- ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์–ธ์–ด

- ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ”๋กœ ๋ฐ˜ํ™˜๋จ

- ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋ณ„๋„์˜ ๊ณต๊ฐ„์— ๋ณด๊ด€

- ๊ธฐ๋Šฅ๊ณผ ์ž๋ฃŒ ์ €์žฅ์˜ ๋ถ„๋ฆฌ

- ์ƒํƒœ๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. OOP(Object-Oriented Programming)์–ธ์–ด

๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด: C#, Java

 

ํŠน์ง•:

- ์‚ฌ๋žŒ์—๊ฒŒ ๋งค์šฐ ์ง๊ด€์ ์ด๊ณ  ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ๋ฅผ ์žก๊ธฐ ์‰ฝ๋‹ค.

- ๊ธฐ๋Šฅ๊ณผ ์ž๋ฃŒ๋ฅผ ํ•˜๋‚˜์˜ ๊ฐœ์ฒด์— ํ•ฉ์นจ

- ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

- ๊ธฐ๋Šฅ๊ณผ ์ƒํƒœ๋ฅผ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. ํ•จ์ˆ˜ํ˜•(Functional) ์–ธ์–ด

๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด: LISP

 

ํŠน์ง•:

- ์ ˆ์ฐจ์  ์–ธ์–ด์ฒ˜๋Ÿผ ํ•จ์ˆ˜๊ฐ€ ์žˆ์Œ

- ๊ทธ๋Ÿฌ๋‚˜ ์ƒํƒœ์˜ ๋ณ€ํ™”๊ฐ€ ์—†์Œ == ๋ถˆ๋ณ€์„ฑ(immutable)

๋ฐ˜์‘ํ˜•