๐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ โ (2025โ2026๋
ํ)
๐๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(2025โ2026๋
ํ)์ BSCS, BSSE, BSIT, ์ํํธ์จ์ด ๊ณตํ ์ ๊ณต ํ์์ ๋ฌผ๋ก , ๊ฐ์ฒด ์งํฅ ์ค๊ณ ๋ฐ ๊ฐ๋ฐ์ ์๋ฆฌ๋ฅผ ์๋ฌํ๊ณ ์ ํ๋ ์ด๋ณด ํ๋ก๊ทธ๋๋จธ, ๊ฐ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋
ํํ๋ ํ์๋ค์ ์ํด ์ค๊ณ๋ ํฌ๊ด์ ์ธ ๊ฐ์ ๊ณํ์์
๋๋ค.
์ด๋ฒ ํ์ ์ด๋ก , ์ค์ ๊ตฌํ, ๊ทธ๋ฆฌ๊ณ ์ต์ ํ๋ก๊ทธ๋๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๊ฒฐํฉํ์ฌ, ๊ฐ๋
์ ์ดํด์ ์ฝ๋ฉ ๋ฅ๋ ฅ์ ๊ฐํํ๊ธฐ ์ํ ๊ฐ๊ด์ ๋ฌธ์ , ํด์ฆ, ๊ทธ๋ฆฌ๊ณ ์์ ๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ์๋ค์ ํด๋์ค, ์์, ๋คํ์ฑ, ํ
ํ๋ฆฟ, ๊ทธ๋ฆฌ๊ณ GUI ๊ฐ๋ฐ์ ํ๊ตฌํ๋ฉฐ, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด C++, Java, Python ๋ฑ ๋ค์ํ ์ธ์ด์์ ์ค์ ์ํํธ์จ์ด ์์คํ
์ ์ด๋ป๊ฒ ์ ์ฉ๋๋์ง ๋ฐฐ์๋๋ค.
์ด ์ฑ
์ ํ๋ฌธ์ ์๊ฒฉ์ฑ๊ณผ ํ๋ก์ ํธ ๊ธฐ๋ฐ ํ์ต์ ๊ฒฐํฉํ์ฌ ํ์ต์๋ค์ด ๋ชจ๋ํ๋๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ์ํํธ์จ์ด ์์คํ
์ ์ค๊ณํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
๐ ๋จ์ ๋ฐ ์ฃผ์
๐น ๋จ์ 1: ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์๊ฐ
- ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ vs. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ํต์ฌ OOP ๊ฐ๋
: ํด๋์ค, ๊ฐ์ฒด, ์ถ์ํ, ์บก์ํ, ์์, ๋คํ์ฑ
- OOP์ ์ญ์ฌ ๋ฐ ์ฅ์
- ์ผ๋ฐ์ ์ธ OOP ์ธ์ด: C++, Java, Python
๐น ๋จ์ 2: ํด๋์ค, ๊ฐ์ฒด ๋ฐ ์บก์ํ
- ํด๋์ค ์ ์ ๋ฐ ๊ฐ์ฒด ์์ฑ
- ๋ฐ์ดํฐ ๋ฉค๋ฒ ๋ฐ ๋ฉค๋ฒ ํจ์
- ์ ๊ทผ ์ง์ ์: Public, Private, Protected
- ์บก์ํ ๋ฐ ๋ฐ์ดํฐ ์๋
- ์ ์ ๋ฉค๋ฒ ๋ฐ ๊ฐ์ฒด ์๋ช
์ฃผ๊ธฐ
๐น ๋จ์ 3: ์์ฑ์์ ์๋ฉธ์
- ๊ธฐ๋ณธ ์์ฑ์์ ๋งค๊ฐ๋ณ์ํ๋ ์์ฑ์
- ์์ฑ์ ์ค๋ฒ๋ก๋ฉ
- ๋ณต์ฌ ์์ฑ์
- ์๋ฉธ์์ ๊ฐ์ฒด ์ ๋ฆฌ
๐น ๋จ์ 4: ์์ ๋ฐ ๋คํ์ฑ
- ์์ ์ ํ(๋จ์ผ, ๋ค๋จ๊ณ, ๊ณ์ธต์ ๋ฑ)
- ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ
- ๊ฐ์ ํจ์ ๋ฐ ๋์ ๋์คํจ์น
- ํจ์ ๋ฐ ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ
- ์ถ์ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค
๐น ๋จ์ 5: ํ์ผ ์ฒ๋ฆฌ ๋ฐ ์์ธ ๊ด๋ฆฌ
- ํ์ผ ์คํธ๋ฆผ: ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ(ํ
์คํธ ๋ฐ ๋ฐ์ด๋๋ฆฌ)
- ํ์ผ ๋ชจ๋ ๋ฐ ์ฐ์ฐ
- Try-Catch ๋ธ๋ก ๋ฐ ์์ธ ๊ณ์ธต ๊ตฌ์กฐ
- ์ฌ์ฉ์ ์ ์ ์์ธ ํด๋์ค
๐น ๋จ์ 6: ๊ณ ๊ธ ๊ฐ๋
๋ฐ ๊ฐ์ฒด ์งํฅ ์ค๊ณ
- ํฉ์ฑ vs ์์
- ์ง๊ณ ๋ฐ ์ฐ๊ด
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ ์์น(DRY, SOLID)
- UML ๋ค์ด์ด๊ทธ๋จ ์๊ฐ(ํด๋์ค, ์ฌ์ฉ ์ฌ๋ก)
- Java, C++, Python์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) - ๋น๊ต ๊ด์
๐น ๋จ์ 7: ํ
ํ๋ฆฟ ๋ฐ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ (C++)
- ํจ์ ํ
ํ๋ฆฟ
- ํด๋์ค ํ
ํ๋ฆฟ
- ํ
ํ๋ฆฟ ํน์ํ(์ ์ฒด ๋ฐ ๋ถ๋ถ)
- ๋นํ์ ํ
ํ๋ฆฟ ๋งค๊ฐ๋ณ์
- ๊ฐ๋ณ ์ธ์ ํ
ํ๋ฆฟ
- STL(ํ์ค ํ
ํ๋ฆฟ ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ํ
ํ๋ฆฟ
- ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ์ผ๋ฐ์ ์ธ ์ค๋ฅ
๐น ๋จ์ 8: ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ฐ GUI ํ๋ก๊ทธ๋๋ฐ(Java/Python ์ ํ ์ฌํญ)
- ์ด๋ฒคํธ ๋ฃจํ ๋ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ
- ์ฝ๋ฐฑ ๋ฐ ์ด๋ฒคํธ ๋ฆฌ์ค๋
- GUI ๊ตฌ์ฑ ์์: ๋ฒํผ, ํ
์คํธ ์์, ๋ ์ด๋ธ
- ์๊ทธ๋ ๋ฐ ์ฌ๋กฏ(Qt ํ๋ ์์ํฌ)
- ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ ๋ฐ ์ฌ์ฉ์ ์
๋ ฅ ์ฒ๋ฆฌ
- ๋ ์ด์์ ๊ด๋ฆฌ์ ๋ฐ ์์ ฏ ๋ฐฐ์น
- GUI์ ๋ชจ๋ธ-๋ทฐ-์ปจํธ๋กค๋ฌ(MVC)
- GUI ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฉํฐ์ค๋ ๋ฉ
- Qt๋ฅผ ์ฌ์ฉํ GUI ํ๋ก๊ทธ๋๋ฐ(C++)
- ๋ฐ์ํ GUI๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๐น ๋จ์ 9: ๋ชจ๋ฒ ์ฌ๋ก, ์ฌ๋ก ์ฐ๊ตฌ ๋ฐ ์ค์ ์ ํ๋ฆฌ์ผ์ด์
- ๋ชจ๋ฒ ์ฌ๋ก ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์ผ๋ฐ์ ์ธ ์ฝ๋
- ์ฌ๋ก ์ฐ๊ตฌ: STL ํ
ํ๋ฆฟ
- ์ค์ ์ ํ๋ฆฌ์ผ์ด์
: GUI ๊ธฐ๋ฐ ์ฌ๊ณ ์์คํ
- ๋ณด์ ๋ฐ ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ
๐ ์ด ์ฑ
/์ฑ์ ์ ํํด์ผ ํ๋ ์ด์
โ
๊ฐ๋
์ ์ด๊ณ ์ค์ฉ์ ์ธ ๊น์ด๋ฅผ ๊ฐ์ถ ์์ ํ OOP ๊ต์ก ๊ณผ์ ์ ๋ค๋ฃน๋๋ค.
โ
์ฐ์ต์ ์ํ ๊ฐ๊ด์ ๋ฌธ์ , ํด์ฆ, ํ๋ก๊ทธ๋๋ฐ ์ฐ์ต์ ํฌํจํฉ๋๋ค.
โ
C++, Java, Python OOP ๊ตฌํ์ ์ค๋ช
ํฉ๋๋ค.
โ
์ค๊ณ ์์น, ์ค์ ์ ํ๋ฆฌ์ผ์ด์
, GUI ๊ฐ๋ฐ์ ์ค์ ์ ๋ก๋๋ค.
โ
ํ์, ๊ฐ์ฌ, ์ ๋ฌธ ๊ฐ๋ฐ์์๊ฒ ์ ํฉํฉ๋๋ค.
โ ์ด ์ฑ์ ๋ค์ ์ ์์ ์๊ฐ์ ๋ฐ์์ต๋๋ค.
Bjarne Stroustrup โข James Gosling โข Grady Booch โข Bertrand Meyer โข Robert C. Martin
๐ฅ ์ง๊ธ ๋ค์ด๋ก๋ํ์ธ์!
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(2025โ2026๋
ํ)์ผ๋ก ์ต์ ์ํํธ์จ์ด ์ค๊ณ ๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ง์คํฐํ์ธ์. ๋ชจ๋์์ด๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๊ตฌ์ถํ๋ ์๋ฒฝํ ๊ฐ์ด๋์
๋๋ค.
์
๋ฐ์ดํธ ๋ ์ง
2025. 10. 22.