๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป๊ฐœ๋ฐœ

ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค๋กœ ๋ฆฌํŒฉํ„ฐ๋ง

by ๋ˆˆ๋ˆ„ :) 2024. 2. 7.

 

 

 

1. ๊ธฐ๋Šฅ ๋ถ„์„

 

๋จผ์ €, A.cpp์™€ A.h์— ์žˆ๋Š” ๋ชจ๋“  ํ•จ์ˆ˜๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ , ์˜ฎ๊ธฐ๋ ค๋Š” ํŠน์ • ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€, ์–ด๋–ค ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š”์ง€ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.


ํ•จ์ˆ˜์˜ ์˜์กด์„ฑ์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋‚˜ ์ „์—ญ ๋ณ€์ˆ˜์— ์˜์กดํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ด๋Ÿฌํ•œ ์˜์กด์„ฑ์„ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค ์„ค๊ณ„์— ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ• ์ง€ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

 


2. ํด๋ž˜์Šค ์„ค๊ณ„

 

์ƒˆ๋กœ์šด ํด๋ž˜์Šค์˜ ๋ชฉ์ ๊ณผ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.


ํ•จ์ˆ˜๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋กœ ํ†ตํ•ฉํ• ์ง€, ์•„๋‹ˆ๋ฉด ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์œ ์ง€ํ• ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.


ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ public์œผ๋กœ ๋…ธ์ถœ๋ ์ง€, ์–ด๋–ค ๋‚ด๋ถ€ ๊ตฌํ˜„์ด private์œผ๋กœ ์ˆจ๊ฒจ์งˆ์ง€ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

 


3. ์ฝ”๋“œ ์ด๋™


์„ ํƒํ•œ ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋ฅผ A.cpp์™€ A.h์—์„œ B.cpp์™€ B.h๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๋ฅผ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด์„œ, ํ•„์š”์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•ฉ๋‹ˆ๋‹ค.


์ „์—ญ ๋ณ€์ˆ˜๋‚˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์žˆ๋‹ค๋ฉด, ์ด๋ฅผ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋กœ ์ ์ ˆํžˆ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.


ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋กœ ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒ€ํ† ํ•˜๊ณ , ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ด๋ฅผ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋กœ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.



4. ํด๋ž˜์Šค ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜


์ƒˆ๋กœ์šด ํด๋ž˜์Šค์˜ ํ—ค๋” ํŒŒ์ผ(B.h)์— ํด๋ž˜์Šค ์ •์˜๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋•Œ ํด๋ž˜์Šค ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ์˜ ์„ ์–ธ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.


ํ•„์š”์— ๋”ฐ๋ผ ์ƒ์„ฑ์ž, ์†Œ๋ฉธ์ž, ๊ทธ๋ฆฌ๊ณ  ํด๋ž˜์Šค๊ฐ€ ์ œ๊ณตํ•  ๊ธฐํƒ€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

 


5. ํด๋ž˜์Šค ๊ตฌํ˜„


ํด๋ž˜์Šค์˜ ๊ตฌํ˜„ ํŒŒ์ผ(B.cpp)์— ๋ฉ”์„œ๋“œ์˜ ๊ตฌํ˜„์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด์ „์— A.cpp์— ์žˆ๋˜ ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž์™€ ์†Œ๋ฉธ์ž๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ, ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

 


6. ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ


์ƒˆ๋กœ์šด ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.


๊ธฐ์กด์˜ ์ฝ”๋“œ์—์„œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋งํ•˜๊ณ , ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 


7. ๋ฌธ์„œํ™”


์ƒˆ๋กœ์šด ํด๋ž˜์Šค์™€ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ํด๋ž˜์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.