new ํค์๋
๋ฉ์๋์ ์ ์ธ๋ new modifier base class์ ๋ฉ์๋๋ฅผ ์จ๊น upcasting ํ์ฌ base class์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ ์ด๋ ์๋๋ ๋์์ธ์ ๋ฐํ๋ ํ์์ด๋ฏ๋ก ์ํ
๋ฉ์๋์ ์ ์ธ๋ new modifier base class์ ๋ฉ์๋๋ฅผ ์จ๊น upcasting ํ์ฌ base class์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ ์ด๋ ์๋๋ ๋์์ธ์ ๋ฐํ๋ ํ์์ด๋ฏ๋ก ์ํ
delegate(๋๋ฆฌ์) ํค์๋ delegate๋ ๋ฉ์๋๋ฅผ ๋ค๋ฅธ ๋ฉ์๋์ ์ธ์๋ก ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ ํ์์ด ์ผ์นํ๋ ๊ตฌ์กฐ์ ๋ชจ๋ ๋ฉ์๋๋ ๋๋ฆฌ์์ ํ ๋นํ ์ ์๋ค ๋ฉ์๋๋ ์ ์ /์ธ์คํด์ค์ผ ์ ์๋ค. delegate ์์ฑ ํจ์ ํฌ์ธํฐ์ ์ ์ฌํ์ง๋ง, ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์ธ์คํด์ค ๋ฐ ๋ฉ์๋๋ฅผ ์บก์ํํ๋ค. ๋ฉ์๋๋ฅผ ๋งค๊ฐ ๋ณ์๋ก ์ ๋ฌํ ์ ...
friend class ํ class์์ ๋ค๋ฅธ class์ field๋ฅผ public์ผ๋ก ์ฐธ์กฐํ๋๋ก ํ์ฉ
์๋ธ๋ฃจํด(Subroutine) C์ธ์ด ๋ฑ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ํจ์ ์์ํ ๋ ์ง์ ํ๋ ์ง์ ์ด ํ๋ ์กด์ฌํ๊ณ , ์ข ๋ฃ๋๋ ์ง์ ์ ์ค์ ํ ์ ์๋ค. ์๋ธ๋ฃจํด์ ์์์ ๊ณผ ์ข ๋ฃ์ ์ด 1๊ฐ์ธ ์ฝ๋ฃจํด์ ํฌํจ
Synchronization ๋๊ธฐํ ๋ณต์ ์ด๋ฒคํธ์ ์ ์ฐํ ์คํ ๋ฐ ์กฐํ๋ฅผ ์ํด ์กฐ์ ์ ๊ฐํ๋ ๊ฒ ๊ตฌ์ ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค Serialization: ํ๋์ ์ด๋ฒคํธ๊ฐ ๋๋ ๋ค์์ ๋ค๋ฅธ ์ด๋ฒคํธ๊ฐ ๋ฐ์ Mutual Exclusion: ๋ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ํ ์์ ์ ๋์์ ๋ฐ์ํ๊ณ ์์ง ์์
lock-base ์ฝ๋์ ๋ช๊ฐ์ง ๋ฌธ์ ์ lock ์์๋ฅผ ์ ๋๋ก ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ๋ฐ๋๋ฝ์ ๊ฐ๋ฅ์ฑ priority inversion - ๋ฎ์ ์ฐ์ ์์์ ์ค๋ ๋๊ฐ ์งํ๋๊ธฐ ์ํด ๋์ ์์์ ์ค๋ ๋ ๋ฝ์ ์๊ตฌํ๋ ๊ฒฝ์ฐ atomicํ operation์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์ค๋ ๋๋ค์ ๊ธฐ๋ค๋ ค์ผ ํจ
ํ๋์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ณ ๋ค์ ๊ธฐ๋กํ ์ ์๋ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค.
๋ฐ๋์ฒด๋? ์ ๊ธฐ์ ์ผ๋ก ๋์ฒด์ ๋ถ๋์ฒด ์ฌ์ด์ ์ฑ์ง์ ๋ ๊ณ ์๋ ๋ฌผ์ง
๊ฐ์ ํ๋ก์ธ์ค๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋จ - ์์ ์ ์ํด ์คํํ ์ ์๋ ํ์ผ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ ์คํํ๊ธฐ ์ํด ๋ชจ๋ (๋๋ ์ผ๋ถ) ์คํ ๊ตฌ๋ฌธ๊ณผ ๋ฐ์ดํฐ์ ์ ๋ถ(๋๋ ์ผ๋ถ)์ ๋ฉ๋ชจ๋ฆฌ ์์ ์์ด์ผ ํจ CPU๊ฐ ์ ์ ์์ ์ ๋ฐ์ํ๊ณ ์ต์ ํํ๊ธฐ ์ํด ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์์ ๋ฃ์์ง๋ฅผ ์ ํ๋ ์์ Activities: ์ด๋ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐ์ด๋์ง, ๋๊ตฌ์ ์ํด ์ฌ์ฉ๋๋ ์ง๋ฅผ ํธ๋ํน ์ด๋ค ํ๋ก์ธ์ค,...