๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ComputerScience ๐Ÿ“š/์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ

[๋„คํŠธ์›Œํฌ] ์บก์Šํ™”

by dkswnkk 2022. 4. 13.

 

์„œ๋ก 

 

[๋„คํŠธ์›Œํฌ] ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ ๊ณ„์ธต

์„œ๋ก  ์‹œ์Šคํ…œ์ด ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ€์งˆ ๋•Œ, ๊ทธ ๊ณ„์ธต์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์˜ ๊ตฌํ˜„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‰ฝ๊ณ , ํ•œ ๊ณ„์ธต์ด ์ƒ์œ„ ๊ณ„์ธต์— ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํ•˜์œ„ ๊ณ„์ธต์˜ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ํ•œ, ์–ด๋–ค ํ•œ

dkswnkk.tistory.com

์ด์ „ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์˜ ๊ณ„์ธต์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ์„œ๋กœ์˜ ๊ณ„์ธต์œผ๋กœ ํŒจํ‚ท์„ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ๋ชจ๋“  ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋“ค์€ ํ•˜์œ„ ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…์„ "์บก์Šํ™”(encapsulation)" ๊ฐœ๋…์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๋ฒˆ ๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์ด๋Ÿฐ ์บก์Šํ™”์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์บก์Šํ™”

ํ˜ธ์ŠคํŠธ, ๋ผ์šฐํ„ฐ, ๋งํฌ ๊ณ„์ธต ์Šค์œ„์น˜ ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ ์ฐจ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๋‹ค๋ฅธ ๊ณ„์ธต๋“ค๋กœ ๊ตฌ์„ฑ๋จ

 

์œ„ ์ด๋ฏธ์ง€๋Š” ์†ก์‹ ํ•˜๋Š” ์ข…๋‹จ ์‹œ์Šคํ…œ์˜ ํฌ๋กœํ† ์ฝœ ์Šคํƒ์˜ ์•„๋ž˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉฐ, ์ค‘๊ฐ„์˜ ๋งํฌ ๊ณ„์ธต ์Šค์œ„์น˜์™€ ๋ผ์šฐํ„ฐ์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์„ ์œ„์•„๋ž˜๋กœ ๊ฑฐ์น˜๊ณ , ์ˆ˜์‹ ํ•˜๋Š” ์ข…๋‹จ ์‹œ์Šคํ…œ์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ ์ƒ์œ„๋กœ ๋ณด๋‚ด๋Š” ๋ฌผ๋ฆฌ์  ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์ž์„ธํžˆ ๋‹ค๋ฃจ๊ฒ ์ง€๋งŒ ๋ผ์šฐํ„ฐ์™€ ๋งํฌ ๊ณ„์ธต ์Šค์œ„์น˜๋Š” ๋‘˜ ๋‹ค ํŒจํ‚ท ๊ตํ™˜๊ธฐ์ž…๋‹ˆ๋‹ค.

 ๋˜ํ•œ ์œ„ ์ด๋ฏธ์ง€๋Š” ์บก์Šํ™”(encapsulation) ๊ฐœ๋…์˜ ์ค‘์š”์„ฑ์„ ์ž˜ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. 

  • ์†ก์‹  ํ˜ธ์ŠคํŠธ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋ฉ”์‹œ์ง€(๊ทธ๋ฆผ์—์„œ M)๋Š” ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์œผ๋กœ ๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค.
  • ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์— ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์€ ๋ฉ”์‹œ์ง€์— ์ˆ˜์‹  ์ธก ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉ๋  ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋•Œ ์ถ”๊ฐ€์ •๋ณด๋Š” ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ํ—ค๋” ์ •๋ณด๋ผ๊ณ  ํ•˜๋ฉฐ, ๊ทธ๋ฆผ์—์„œ๋Š” Ht์ž…๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋ฉ”์‹œ์ง€์™€ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ํ—ค๋” ์ •๋ณด๋Š” ๋ชจ๋‘ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ์„ธ๊ทธ๋จผํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋ฉ”์‹œ์ง€๋ฅผ ์บก์Šํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋œ ์ •๋ณด๋Š” ์ˆ˜์‹  ์ธก์˜ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์ด ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ์ ์ ˆํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ณด๋‚ด๋„๋ก ํ•˜๋Š” ์ •๋ณด์™€ ๋ฉ”์‹œ์ง€์˜ ๋น„ํŠธ๋“ค์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ์ˆ˜์‹ ์ž๊ฐ€ ๊ฒฐ์ •ํ•˜๊ฒŒ ํ•˜๋Š” ์˜ค๋ฅ˜ ๊ฒ€์ถœ ๋น„ํŠธ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋‹ค์Œ์— ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์€ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ์ข…๋‹จ ์‹œ์Šคํ…œ ์ฃผ์†Œ์™€ ๋™์ผํ•œ ํ—ค๋” ์ •๋ณด(๊ทธ๋ฆผ์—์„œ Hn)๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ์ด ๋ฐ์ดํ„ฐ๊ทธ๋žจ์€ ๋งํฌ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌ๋˜๊ณ  ๋งํฌ ๊ณ„์ธต๋„ ์ž์‹  ํ—ค๋” ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋งํฌ ๊ณ„์ธต ํ”„๋ ˆ์ž„์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ฐ ๊ณ„์ธต์—์„œ ํŒจํ‚ท์€ ํ—ค๋” ํ•„๋“œ์™€ ํŽ˜์ด๋กœ๋“œ ํ•„๋“œ(payload field)๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ์˜ ํ•„๋“œ๋ฅผ ๊ฐ–๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด๋กœ๋“œ ํ•„๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ทธ ๊ณ„์ธต ์ƒ์œ„๋กœ๋ถ€ํ„ฐ์˜ ํŒจํ‚ท์ž…๋‹ˆ๋‹ค.

ํŽ˜์ด๋กœ๋“œ(payload)๋Š” ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋œปํ•œ๋‹ค. (์œ„ํ‚ค๋ฐฑ๊ณผ)

 

๋งˆ๋ฌด๋ฆฌ

์บก์Šํ™” ๊ณผ์ •์€ ์œ„์—์„œ ๊ธฐ์ˆ ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํฐ ๋ฉ”์‹œ์ง€๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ์„ธ๊ทธ๋จผํŠธ๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋˜ํ•œ ์ด๊ฒƒ๋“ค ๊ฐ๊ฐ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๋ฐ์ดํ„ฐ๊ทธ๋žจ์œผ๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ ์ˆ˜์‹  ์ธก์—์„œ ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋Š” ๋ถ„ํ• ๋œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ๋“ค๋กœ ์žฌ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€