๐Ÿ“Œ ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด์ง„ ์ดํ›„ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ํŠน์„ฑ

๋ฐฉ๋ฒ•

  1. ์ƒ์ˆ˜ ํ‚ค์›Œ๋“œ
    • Java: final
    • C,CPP: const
      • CPP ๋ฉค๋ฒ„ ํ•จ์ˆ˜ ์„ ์–ธ์— ์‚ฌ์šฉ ์‹œ, ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” Read-only ํ•จ์ˆ˜๋ฅผ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Œ โžก Safety (์•ˆ์ „์„ฑ), Readability (๊ฐ€๋…์„ฑ)
  2. private + ์™ธ๋ถ€๋กœ ์ฐธ์กฐ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๊ธฐ
  3. Assertions: ๋ถˆ๋ณ€์‹ == false์ผ ๊ฒฝ์šฐ, ์—๋Ÿฌ ๋ฉ”์„ธ์ง€์™€ ํ•จ๊ป˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๋Š” ๊ตฌ๋ฌธ
    • Invariant (๋ถˆ๋ณ€์‹): ๊ฐ์ฒด์˜ ์ •์ƒ ๋™์ž‘๊ณผ Consistency (์ผ๊ด€์„ฑ) ์œ ์ง€๋ฅผ ์œ„ํ•ด ํ•ญ์ƒ ์ถฉ์กฑํ•ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด
    • ์˜ค๋ฅ˜ ์ง€์  ํ™•์ธ ๊ฐ€๋Šฅ โžก ๋””๋ฒ„๊น… ์‹œ๊ฐ„ ์ ˆ์•ฝ
    • C,CPP: assert(์กฐ๊ฑด) in <assert.h>