๊ตฌ๋ฌธ ์๋ฌ (Syntax Error)
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฌธ๋ฒ์ ์ด๊ธ๋๋ ๋ฌธ์ฅ ๋๋ฌธ์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ “Syntax Error”๋ผ๊ณ ํ๋ค.
์ฃผ๋ก ์ธ๋ฏธ์ฝ๋ก ์ด ์๋ ์ฝ๋ก ์ ์ฌ์ฉํ๋ค๊ฑฐ๋ {} ์ค๊ดํธ๊ฐ ์๋ชป ๋ฃ์ด์ ธ์๋ค๊ฑฐ๋ ๋ฑ ๋ค์ํ ๊ฒฝ์ฐ๊ฐ ์์ง๋ง IDE์์ ์๋์ ์ผ๋ก ํด๋น ๊ตฌ๋ฌธ ์ค๋ฅ๋ฅผ ์ก์์ฃผ๊ธฐ ๋๋ฌธ์ (๋นจ๊ฐ ๋ฐ์ค!!) ํฌ๊ฒ ๋ฌธ์ ๋๋ ๋ถ๋ถ์ ์๋ค.
๋ฌผ๋ก IDE๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ฝ๋ฉ์ ํด๋ ์ปดํ์ผ ๊ณผ์ ์์ ์ ๋ถ ๊ฒ์ถ๋๊ธฐ ๋๋ฌธ์ ๋ฌธ๋ฒ์ด ํ๋๋ผ๋ ํ๋ ธ๋ค๋ฉด ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์ปดํ์ผ๋์ง ์๋๋ค.
๋ ผ๋ฆฌ ์๋ฌ (Semantic Error / Logical Error)
๋ฌธ๋ฒ์ ์ค๋ฅ๊ฐ ์๋๋ฉฐ ์ปดํ์ผ ๋ฐ ์คํ๋ ์ ์์ ์ผ๋ก ์งํ๋์ง๋ง ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋๋ก ์คํ๋์ง ์๋ ํ๋ก๊ทธ๋จ ๋ก์ง ์์ ๋ ผ๋ฆฌ์ ์ธ ์ค๋ฅ์ด๋ค.
int a = 3, b = 9;
int avg = a + b / 2; // int avg = (a + b) / 2;
๋ฐํ์ ์๋ฌ (Runtime Error)
ํ๋ก๊ทธ๋จ ์คํ ๋์ค์ (Run-time), ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋ ์ ๋๋ก ์น๋ช ์ ์ธ ์ค๋ฅ์ด๋ค.
๋ณดํต ๋ฉ๋ชจ๋ฆฌ์ OS ์์ญ์ ๊ฑด๋๋ฆด ๋ ๋ฐ์ํ๋ฉฐ, ํํ ๋ณผ ์ ์๋ ๊ฒ์ผ๋ก๋ Null-Pointer Exception์ด๊ณ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฌธ๋ฒ์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํตํด ์ฒ๋ฆฌํ ์ ์๋ค.
๐ ๊ตฌ๋ฌธ ์๋ฌ, ๋ ผ๋ฆฌ ์๋ฌ, ๋ฐํ์ ์๋ฌ ์ค ์ด๋ค ๊ฒ์ด ๊ฐ์ฅ ๊ณจ์น์ํ๊ฐ์?
๐ ๋จ์ฐ์ฝ ๋ ผ๋ฆฌ ์๋ฌ (Semantic Error / Logical Error) ์ ๋๋ค!
๐ ๊ตฌ๋ฌธ ์๋ฌ (Syntax Error) ๋ฐ ๋ฐํ์ ์๋ฌ (Run-time Error)๋ IDE ๋ฌธ๋ฒ ๊ฒ์ฌ ๋๋ ํ ์คํธ๋ฅผ ํตํด ๋ฐ๊ฒฌํ ์ ์์ง๋ง ๋ ผ๋ฆฌ ์๋ฌ๋ ์ปดํ์ผ๋ ๋ฌด์ฌํต๊ณผํ๊ณ ์คํ๋ ๋ฌธ์ ์์ด ๋์ง๋ง ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋ํ ๋๋ก ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค!
'๐ ์ฐ์ฌ ์๋ฆฌ์ฆ > ์ฃผ๋์ด ๊ฐ๋ฐ์๊ฐ ์๋ฉด ์ข์ ๋ด์ฉ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉํฐ ์ค๋ ๋ - ์์์ฑ (Atomicity) (0) | 2023.05.03 |
---|---|
๋ฉํฐ ์ค๋ ๋ - ๊ฐ์์ฑ (Visibility) (0) | 2023.05.03 |
๋์์ฑ (Concurrency) ๋ฐ ๋ณ๋ ฌ์ฑ (Parallelism) (0) | 2023.05.02 |
์ฝ๋ ์ปจ๋ฒค์ (Code Convention) (2) | 2023.03.08 |
๋ผ์ด๋ธ๋ฌ๋ฆฌ, API, SDK, Framework (0) | 2023.01.17 |