What is Class?
์ฐ๋ฆฌ๋ ํด๋์ค๋ผ๋ ๊ฐ๋
์ ์ ๋์
ํ์๊น? C++์์ ํจ์๊ฐ ํ์ด๋๊ฒ ๋ ์ด์ ๋ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๊ธฐ ์ํจ์ด์๋ค.
๊ทธ๋ฐ๋ฐ ํจ์๋ก ๊ณ์ํด์ ๋๋ ์ ํ๋๋ฐ ํ๊ณ๊ฐ ์ฐพ์์จ ๊ฒ! ํจ์์ ๋ค์ด๊ฐ๋ ์
์ถ ํ๋ผ๋ฏธํฐ๊ฐ ํน์ ๋ฐ์ดํฐ ํ์
์ ์ฐ๊ด๋์ด ํ์ํ๋ค๋ ์ฌ์ค์ ์์๋๋ค.
์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๋ฌผ๊ฑด์ ์๊ฐํด ๋ณด๋ฉด, ํด๋น ๋ฌผ๊ฑด(๊ฐ์ฒด)๋ ๋ฌผ๊ฑด์ ์ฉ๋์ ๋ฐ๋ผ ํ ์ ์๋ ํ๋(method)๊ฐ ์ ํด์ ธ ์๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ด๋ค ๊ฐ์ฒด์ธ์ง๋ฅผ ๋ฐํ๊ณ , ๊ทธ ๊ฐ์ฒด๊ฐ ํ ์ ์๋ ํจ์๋ฅผ ์ ์ํด ๋๋ ๊ฒ์ด ๋ณด๋ค ์ค์ ์ ์ธ ์ ๊ทผ์ด๋ค.
์ด ๋ย ํด๋์คย ์ ๊ฐ๋
์ ์ ์ด ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค๋ ์ด๋ป๊ฒ ๋ง๋ค์ง ์๊ฐํด๋์ย ์ค๊ณ๋ย ๋ผ ์๊ฐํ๋ฉด ๋๋ค.
Class ์์ฑ ๋ฐฉ๋ฒ
Member data
์ค์ ์ธ์์ ๋น์ ํ๋ฉด ๋ฌผ์ฒด๋ฅผ ๋ง๋๋ ํ์์ ํด๋นํ๋ค!
ํด๋น ํด๋์ค๋ฅผ ์ ์ธํ ๋, ๊ธฐ๋ณธ์ผ๋ก ์ด๋ค ๊ฐ์ ๊ฐ์ง๊ณ ์ ๋์์ ํ ๊ฒ์ธ์ง ์ ์ํ๋ค.
Member function
๋ฌผ์ฒด์ ๋ํ ํ๋์ ์ ์ํ๋ ๋ถ๋ถ์ด๋ค. ํจ์๋ฅผ ์ ์ธํ๋ฏ ์ ์ด์ฃผ๋ฉด ๋๋ค.
Private, public
ํด๋์ค๋ฅผ ๋ง๋๋ ํ์๋ ํน์ ๋ฌผ์ฒด์ ๋ํด ์ค๊ณ๋๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ๋์ผํ๋ฏ๋ก, ์ฌ์ฉ์ ์งํฅ์ ์ด์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด ๋ฆฌ๋ชจ์ปจ์ ์ค๊ณํ๋ค๊ณ ํ์ ๋ ์ฌ์ฉ์๋ ์
๋ ฅ ์ ํธ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฌผ๋ง ์๋ฉด๋์ง, ๊ทธ ์ค๊ฐ์ ์์ฉํ๋ ๋ค๋ฅธ ๋ณ์์ ๋ํด ์ ์ดํ ํ์๊ฐ ์๋ค.
๋ฐ๋ผ์ ํด๋์ค๋ฅผ ๋ง๋๋ ์ค๊ณ์ ์
์ฅ์์ ํด๋์ค ๋ด์์๋ง ์๋ํ๋ย private
ย ๊ตฌ๊ฐ๊ณผ ํด๋์ค ๋ฐ์์ ์ ๊ทผ๊ฐ๋ฅํย public
ย ๊ตฌ๊ฐ์ผ๋ก ๋๋ ๊ด๋ฆฌํ ํ์๊ฐ ์๋ค.
Constructor
์ฐ๋ฆฌ๊ฐ ๋ฌผ๊ฑด์ ๋ ์ฌ๋ฆฌ๋ฉด, ๋ค๋ฅธ ๋ฌผ๊ฑด๋ค์ด ์ธ์์๋ ์กด์ฌํ์ง๋ง ๊ณตํต์ ์ ๊ฐ์ง๋ค.
์๋ฅผ ๋ค์ด ๋ฆฌ๋ชจ์ปจ์ด๋ผ ํ๋ค๋ฉด, ๋ณดํต 10๊ฐ ์ ๋์ ์ซ์๋ฒํผ๊ณผ, ์ ์๋ฒํผ ์ ๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌ๋ ค์๋ ๋ชจ์ต์ ๋ ์ฌ๋ฆด ๊ฒ์ด๋ค.
์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ฌ์ฉ์๊ฐ ํน์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋,ย ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ธ์ผ ํ๋ ๊ฐ์ด ์กด์ฌํ๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ด๊ฑธ ์ค์ ํ ์ ์๊ฒ, ํน์ ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง ์ ์๊ฒ ๋ง๋ค์ด ์ฃผ์ด์ผ ํ๋ค.
์ด๊ฒ์ย ์์ฑ์ย ๋ผ ํ๋ค.
Public
ย ๋ฐ์ ์ ์ธ์ ํ๊ณ ์ฌ์ฉํ๋๋ฐ, ์ด ๋ ์ผ๋ฐ์ ์ธ ํจ์์ ๋ชจ์๊ณผ ๋ค๋ฅด๊ฒย Output
ย ์ด ์๋ค. ๋ํ, ์ฌ์ฉํ๋ ๋ฌธ๋ฒ์ด ์กฐ๊ธ ๋ค๋ฅด๋ค! ๊ธฐ์ตํด๋ ํ์๊ฐ ์๋ค.
Example
Example 1
Example 2
Example 3
์ฌ์ฉ์์ ๊ณ์ข์ ๋ณด๋ฅผ ๊ธฐ์ตํ๊ณ , ์ด๋ฆ๋ณ, ์์ด๋๋ณ, ์๊ณ ๋ณ ์ ๋ ฌ์ ํด์ ์ถ๋ ฅํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์. ๋จผ์ ์ค๋ช
์ด ์ ํ ์ฝ๋๋ถํฐ ๋ณด๊ณ ๊ฐ์.
์ด์ ์ค๋ช
์ด ์๋ ์ฝ๋์ด๋ค.