๋ฐ์ํ
๊ฐ ๋ณ์๋ง๋ค get/set ํจ์๋ฅผ ์ ๊ณตํ๋ค๋ฉด ๊ตฌํ์ ์ธ๋ถ๋ก ๋ ธ์ถํ๋ ์ ์ด๋ค.
๋ณ์ ์ฌ์ด์ ํจ์๋ฅผ ๋ฃ๋๋ค๊ณ ๊ตฌํ์ด ๊ฐ์ถฐ์ง์ง ์๊ธฐ์ ์ถ์ํ๊ฐ ํ์ํ๋ค.
๊ฐ์ฒด ↔ ์๋ฃ๊ตฌ์กฐ
๊ฐ์ฒดObject๋ ์ถ์ํ ๋ค๋ก ์จ๊ธด ์ฑ ํจ์๋ง ๊ณต๊ฐํ๋ค.
์๋ฃ๊ตฌ์กฐ๋Data structure ์๋ฃ๋ฅผ ๊ทธ๋๋ก ๊ณต๊ฐํ๋ฉฐ ๋ณ๋ค๋ฅธ ํจ์๋ฅผ ์ ๊ณตํ์ง ์๋๋ค.
๋ ๊ฐ๋ ์ ๊ฑฐ์ ์ ๋ฐ๋๋ค.
์๋ ๊ฐ์ ๋ด์ฉ์ ์ฝ๋๋ฅผ ์ ์ฐจ์งํฅ/๊ฐ์ฒด์งํฅ ๊ตฌ์กฐ๋ก ์์๋ณด์.
์ ์ฐจ์งํฅ ๊ตฌ์กฐ
๊ฐ์ฒด์งํฅ ๊ตฌ์กฐ
์ด๋ ๋ฏ ๊ฐ์ฒด์งํฅ/์ ์ฐจ์งํฅ ๊ตฌ์กฐ๋ ๋ฐ๋๋๋ฉฐ ๊ฐ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์๋ค.
- ์ ์ฐจ์ ์ธ ์ฝ๋๋ ๊ธฐ์กด ์๋ฃ๊ตฌ์กฐ(๋ํ)๋ฅผ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์ ํจ์๋ฅผ ์ถ๊ฐํ๊ธฐ ์ฝ๊ณ
↔ ์๋ฃ ๊ตฌ์กฐ class๋ฅผ ์ถ๊ฐํ๋ฉด ํจ์๋ฅผ ๋ชจ๋ ๋ณ๊ฒฝํด์ผ ํ๋ค. - ๊ฐ์ฒด์งํฅ์ ๊ธฐ์กด ํจ์๋ฅผ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์ ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ธฐ ์ฝ๋ค.
↔ ์๋ก์ด ํจ์๋ฅผ ์ถ๊ฐํ๋ฉด ๋ค๋ฅธ ๋ชจ๋ ํด๋์ค๋ฅผ ๊ณ ์ณ์ผ ํ๋ค.
๋ณต์กํ ์์คํ ์ผ ์๋ก ์๋ก์ด ์๋ฃํ์ ์ด ์ถ๊ฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ผ๋ฏ๋ก ๊ฐ์ฒด์งํฅOOP๊ฐ ์ ํฉํ๋ค.
๊ณ ์ ๋ ์๋ฃํ์ ์ผ๋ก ๊ธฐ๋ฅ๋ง ์กฐ๊ธ์ฉ ์ถ๊ฐ๋๋ ๊ฒฝ์ฐ์๋ ์ ์ฐจ์ ์ฝ๋์ ์๋ฃ๊ตฌ์กฐ๊ฐ ๋ ์ ํฉํ๋ค.
๋ฐ์ํ
'๐ CleanCode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CleanCode]์ค๋ฅ์ฒ๋ฆฌ-์ค๋ฅ์ฝ๋๋ณด๋ค ์์ธ(try/catch&throws)๋ฅผ ์ด์ฉํ๋ผ (1) | 2024.09.25 |
---|---|
[CleanCode]๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐ 2 (1) | 2024.09.23 |
[CleanCode]ํ์ ๋ง์ถ๊ธฐ (0) | 2024.09.21 |
[CleanCode]๋์ ์ฃผ์ (0) | 2024.09.20 |
[CleanCode]์ข์ ์ฃผ์ (0) | 2024.09.20 |