์ต๊ทผ ํ์ต์ ํ๋ฉฐ ์๊ฒ ๋ ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์๊ฐ์ ๋๋ค.
Checked exception์ OCP ์๋ฐ
์ต๊ทผ ๋ณธ ์์์์ "Checked exception์ OCP(Open Closed Principle)๋ฅผ ์๋ฐํ ๊ฒ์ด๋ค."๋ผ๋ ๋ด์ฉ์ ์ ํ๋ค. ๋ด์ฉ์ธ ์ฆ ํ์ ์์กด์ฑ์์ Checked exception์ด ์ถ๊ฐ๋๋ฉด ๋ณ๊ฒฝ์ฌํญ์ด ์ ํ๋๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ์ ๋ซํ์์ง ์๋ค๋ ๊ฒ์ด๋ค.
์ด์ ๊น์ง Checked exception๊ณผ OCP์์ ๊ด๊ณ๋ฅผ ์๊ฐํด๋ณด์ง ๋ชปํ๋๋ฐ ๊ต์ฅํ ์ข์ ์ธ์ฌ์ดํธ๋ผ ๊ฐ์ธ์ ์ผ๋ก ์ข ๋ ์ฐพ์๋ณด๋ฉฐ ๋ด๋ฆฐ ๋๋ฆ์ ๊ฒฐ๊ณผ๋ "์๋๋ค"์ด๋ค.
Checked exception
Java was a much safer language than most of its predecessors: all behaviour defined and consistent across all platforms, and many features intended to prevent crashes, unexpected behaviour, or fragile coding.
Stackoverflow — author gidds
Java์์ ์์ธ๋ Checked exception๊ณผ Unchecked exception์ผ๋ก ๋๋ ์ ์๋ค. ์คํ์ค๋ฒํ๋ก์ฐ์ gidds์ ๋ง์ ์ฐธ๊ณ ํ๋ฉด, Java๋ Checked exception์ ํตํด ๋ฉํฐ ํ๋ซํผ ํ๊ฒฝ์์๋ ์ผ๊ด๋๋ฉฐ ์ทจ์ฝํ ์ฝ๋ ์์ฑ์ ๋ฐฉ์งํ๋ฉฐ ์์ ์ ์ธ ์ธ์ด๋ก ๋ฐ์ ๋์๋ค๊ณ ํ๋ค. ์ฆ, "์์ ์ฑ"์ ์ํ ์ธ์ด ์์คํ ์ธ ๊ฒ์ด๋ค.
ํ์ฅ์ฑ๊ณผ ์์ ์ฑ
์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ณ๊ฒฝ์ ์์ ์ด๋ค. ํนํ ์น ์๋น์ค ๋ถ์ผ๋ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ๊ฒฝ์์ฌ, ๊ทธ๋ฆฌ๊ณ ์์๊ฐ๊ฐ ๋ณํํ๋ ์ฌํ ํ๋ฆ๊ณผ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ฐ์ํ๊ธฐ ์ํด์ ํ๋ฃจ์๋ ์์ญ ๋ฒ์ ๋ฐฐํฌ๊ฐ ์ด๋ค์ง๋ค. ์ฆ ํ์ฅ์ฑ์ ์๋น์ค์ ์์กด๊ณผ๋ ์ฐ๊ด์ด ์๋ค.
ํ์ง๋ง ๊ทธ ์์ ๋น์ฐํ ๋ง์กฑํด์ผ ํ๋ ๊ฒ์ด ์๋๋ฐ, ๊ทธ๊ฒ์ ์์ ์ฑ์ด๋ค. ์๋น์ค๊ฐ ์์ ์ ์ผ๋ก ์ด์์ด ๋์ง ์๋๋ค๋ฉด ์๋ฌด๋ฆฌ ์ข์ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ง์กฑํด๋ ์ ๋ขฐ์ฑ์ด ๋ฌด๋์ง๋ฉฐ ์ฌ์ฉ์๋ ์ดํํ๊ฒ ๋๋ค.
์ฆ, ์์ ์ฑ์ ์ํ ์ฅ์น๋ก ์ธํด ๋ณ๊ฒฝ์ด ๋์๋ค๊ณ "๋ณ๊ฒฝ์ ๋ซํ์๋ค"๋ผ๊ณ ํํํ๊ธฐ๋ ์ด๋ ต๋ค๋ ๊ฒ์ด ๋ด ์๊ฒฌ์ด๋ค. ํ์ํ ๋ณ๊ฒฝ์ ์ํด ๋ณ๊ฒฝ๋๋ ๊ฒ์ ์ํํธ์จ์ด์ ๋น์ฐํ๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ
I'm not happy throwing the baby out with the bathwater
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฝํ๋ฆฐ์์๋ Checked exception์ ์ ๊ฑฐํ๋ค. ํ์ง๋ง ์ด๋ฌํ ๊ฒฐ์ ์ ๊ฐ๋ฐ์๋ค์ด Checked exception์ ๋ํ ์ฒ๋ฆฌ๊ฐ ์๋ชป๋ ๊ด์ต์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ ๊ฑฐํ ๊ฒ์ด๋ฉฐ, ์ด ์๊ฒฌ์ ๋ํด์ ๋ค๋ฅธ ์ธก์์๋ ๊ฐ๋ฐ์๊ฐ ์๋ชป ์ฌ์ฉํ๋ค๊ณ ์ธ์ด์ ์์ ์ฅ์น๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๊ฒฐ์ ์ธ๊ฐ?๋ผ๋ ์๋ฌธ์ ๋ํ๋ด๋ ๋ถ๋ค๋ ๋ง์ ๊ฒ ๊ฐ๋ค. ๊ฐ์ธ์ ์ผ๋ก ํ์๋ก ๊ฐ๋ฐ์๋ ์ ๋ฌธ๊ฐ์ด๋ฉฐ, ์๋ชป๋ ๋ฐฉ์์ ๊ณ ์ณ๋๊ฐ์ผ ํ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค.
์ฐธ๊ณ
'๋ฉ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Keycloak and ArgoCD integration (0) | 2025.06.06 |
---|---|
์๋ฒ ์ฑ๋ฅ ๋ณ๋ชฉ์ ์ด๋์ ๋ฐ์ํ ๊น? (0) | 2023.11.29 |