๐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด - ์ธ์ด ์ค๊ณ์ ์ํฅ์ ์ฃผ๋ ์์๋ค
๐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ผ๋ถ ์ธ์ด์๋ง ํด๋น๋๋ ํน์ ์ผ์ด์ค๋ ์ ์ธํ๊ณ , ๋๋ถ๋ถ ์ธ์ด์์ ํต์ฉ๋๋ ์ผ๋ฐ์ ์ธ ๋ด์ฉ๋ง ์ ๋ฆฌํ๋ค.
์๋ฅผ ๋ค์ด Fortran๊ณผ Ada๋, ๋ฐฐ์ด์ ์์ ์ฐธ์กฐ๋ฅผ ์ํด ์๊ดํธ()
๋ฅผ ์ฌ์ฉํ์ง๋ง, ๋๋ถ๋ถ ์ธ์ด์์ ๋๊ดํธ[]
๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์, ๋ฐฐ์ด ์์ ์ฐธ์กฐ์ ๋ํ ์ค๋ช ์์์ ์ฐธ์กฐ๋ฅผ ์ํด ๋๊ดํธ []๋ฅผ ์ฌ์ฉ
๋ผ๊ณ ํํํ๋ค.
๋๋ฌธ์ ํน์ ์ธ์ด์๋ ๋ง์ง ์๋, ์์ธ์ธ ๋ด์ฉ์ด ์์ ์ ์๋ค.
๋ํ, ๋น์ฃผ๋ฅ ์ธ์ด์ ๋ํ ๋ด์ฉ์, ๊ผญ ํ์ํ ๊ฒ์ด ์๋๋ผ๋ฉด ์๋ตํ๋ค. (ํ์์ ์ฃผ๊ด์ผ๋ก)
๐ซ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค๊ณ์ ์ํฅ์ ์ฃผ๋ ์์๋ค
์ปดํจํฐ ๊ตฌ์กฐ
, ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ๋ก
๐ซ ์ปดํจํฐ ๊ตฌ์กฐ
@ U ์ค๊ฐ๊ณ ์ฌ ์ถ์ : ์ธ์ด ์ค๊ณ์ ์ํฅ์ ์ฃผ๋ ์์๋ ๋ฌด์์ด ์๊ณ , ๊ทธ ์ค ์ปดํจํฐ ๊ตฌ์กฐ๋ ์ ์ํฅ์ ์ฃผ๋๊ฐ?
๐ซง ํฐ ๋ ธ์ด๋ง ๊ตฌ์กฐ - Von Neumann Architecture
ํฐ ๋ ธ์ด๋ง์ด ๊ณ ์ํ ์ปดํจํฐ ๊ตฌ์กฐ๋ก, ํ๋ก๊ทธ๋จ ๋ด์ฅ ๋ฐฉ์ (๋ฉ๋ชจ๋ฆฌ์ ๋ช ๋ น์ด/๋ฐ์ดํฐ ์ ์ฅ)๊ณผ ๋ช ๋ น์ด์ ์์ฐจ์ ์คํ, CPU Cycle(๋ช ๋ น์ด ์ธ์ถ, ํด์, ์คํ)์ ๊ฐ์ง๋ ๊ฒ์ด ํน์ง์ด๋ค.
@ vs ํ๋ก๊ทธ๋จ ์ธ์ฅ ๋ฐฉ์ (๊ธฐ๊ณ ์์ฒด์)
๐ซง ๋ช ๋ นํ ์ธ์ด - Imperative Language
๊ธฐ๊ณ ๊ตฌ์กฐ ๊ด์ ์์ ๋ชจ๋ธ๋ง๋, ํฐ ๋ ธ์ด๋ง ๊ตฌ์กฐ ๊ธฐ๋ฐ์ ์ธ์ด์ด๋ค. ๋ณ์, ๋ฐ๋ณต๋ฌธ, ๋ฐฐ์ ๋ฌธ(Assignment)์ด ํน์ง์ด๋ค. ํจ์จ ์ธก๋ฉด์์ ํจ์ํ ์ธ์ด๋ ๋ ผ๋ฆฌํ ์ธ์ด์ ๋นํด ๋ฐ์ด๋๋ค.
๐ซ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ๋ก
- 1960๋
๋ ๋ง,
ํํฅ์ ์ค๊ณ
์๊ธฐ๋ฅ ๋จ์ ๋จ๊ณ์ ์ธ๋ถํ (์๋ธ ํ๋ก๊ทธ๋จ)
,GOTO ์ง์
์ ๊ดํ ๊ตฌ์กฐํ ํ๋ก๊ทธ๋๋ฐ ์ด๋ - 1970๋
๋ ๋ง,
ํ๋ก์ธ์ค-์งํฅ
โ๋ฐ์ดํฐ-์งํฅ
(๋ฐ์ดํฐ ์ถ์ํ
, Simula 67) - 1980๋
๋ ์ด,
๊ฐ์ฒด-์งํฅ
์ด์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ๋ก , SW ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ๋ค์ ์ดํ ๋ง๋ค์ด์ง๋ ์ธ์ด ์ค๊ณ์ ํฐ ์ํฅ์ ์ฃผ์๋ค.
๐ซง ์ถ์ํ - Abstraction
๋ณต์กํ๊ณ /์ค์ ์ ์ด๊ณ /๊ตฌ์ฒด์ ์ธ ๊ฐ๋
์ ์จ๊ธฐ๊ณ ์์ฝํ์ฌ, ๋ณด๋ค ๋์ ์์ค์ ๊ฐ๋
์ ์ ๋ํ๋ ๊ณผ์ .
์ปดํจํฐ(๋ช
๋ นํ ์ธ์ด)์์ ๋ฐ์ดํฐ
์ ํ๋ฆ ์ ์ด
๋ฅผ ์ถ์ํ ํ ์ ์๋ค.
๋ฐ์ดํฐ ์ถ์ํ - Data Abstraction
- ๊ธฐ๋ณธ ์ถ์ํ
- ๋ณ์ Variable : ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
- ์๋ฃํ DataType : int, float, double, โฆ
- ๊ตฌ์กฐ์ ์ถ์ํ
- ์ฐ๊ด๋ ๋ฐ์ดํฐ์ ๋ชจ์ : ๋ฐฐ์ด, ๋ ์ฝ๋ (๊ตฌ์กฐ์ฒด)
์ถ์ ์๋ฃํ
๋ฐ์ดํฐ์ ๊ทธ์ ๊ด๋ จ๋ ์ฐ์ฐ์ ํจ๊ป ์บก์ํํ์ฌ ์ ์ํ ์๋ฃํ์ ๋ปํ๋ค.
C++์ Stack, Queue, Deck ๋ฑ์ ํด๋์ค๋ฅผ ์ถ์ ์๋ฃํ์ด๋ผ๊ณ ํ ์ ์๋ค.
ํ๋ฆ ์ ์ด ์ถ์ํ - Flow Control Abstraction
- ๊ธฐ๋ณธ ์ถ์ํ
- ๊ธฐ๊ณ ๋ช ๋ น์ด ๋ช ์ค์ ์์ฝ
- ๋์ ๋ฌธ x = x + 3 โ (Load, Add, Store), Goto โ Jump
- ๊ตฌ์กฐ์ ์ ์ด ์ถ์ํ
- ์ค์ฒฉ๋? ๊ธฐ๊ณ ๋ช ๋ น์ด ์์ฝ
- if, switch, for, while ๋ฑ
- ์ค์ฒฉ ๊ฐ๋ฅ โ ์ค์ฒฉ for๋ฌธ, While ์์ For, โฆ
- ์๋ธ ํ๋ก๊ทธ๋จ : ํจ์, ํ๋ก์์ , ๋ฉ์๋
- ๊ธฐ๋ฅ์ ํ๋์ ์ด๋ฆ์ผ๋ก ์์ฝ
ํ๋ฆ ์ ์ด ์ถ์ํ๋ฅผ ํตํด, ๊ธฐ๊ณ์ ๋ํ ์ถ์ํ์ ์์ฝ๋ ๊ด์ ์ ์ ๊ณตํ ์ ์๋ค.