๐ ํํฐ๋ ํผ๋๋ฐฑ ๋ฐ ํ์ต ์ ๋ฆฌ ๐
โป ์์์ ํ๋ฆ ์ฃผ์ โป
1. null์ด๋ ์ ์๋ ๊ฐ์ ์ผ์ชฝ์ ์ ๊ธฐ! (์์ธ ๋ฐฉ์ง)
System.out.print("\n๋ ๊ณ์ฐํ์๊ฒ ์ต๋๊น? (exit ์
๋ ฅ ์ ์ข
๋ฃ)\n์
๋ ฅ: ");
String answer = sc.nextLine();
if (answer.equals("exit")) {
System.out.print("๊ณ์ฐ๊ธฐ๋ฅผ ์ข
๋ฃํฉ๋๋ค.");
break;
} else {
System.out.print("===================================");
}
์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ์ฃผ์ ํผ๋๋ฐฑ..
์ง๊ธ ์ํฉ์์๋ ๊ทธ๋ด ์ผ์ด ์์ง๋ง, ์ถํ์ answer๊ฐ์ด ๊ณต๋ฐฑ์ผ๋ก ๋ค์ด์ฌ ์ ์์ (์ํฐ๋ฅผ ์น๊ฑฐ๋ ๋ญ ๊ทธ๋ฐ..)
answer์ด ๊ณต๋ฐฑ๊ฐ์ด ๋ค์ด์ค๋ฉด "".eqauls("exit");์ด๋ฐ ์ฝ๋๊ฐ ๋๋ฒ๋ฆฌ๋๋ฐ, ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค.
์ด๋ด ๋ ๋ฐ์ํ๋ ์ค๋ฅ๊ฐ NPE๋ผ๊ณ ํ๋ค. null ๊ฐ์ ๊ฐ์ง ๋ณ์๋ฅผ ์๋ชป ์ฌ์ฉํ์ ๋ ๋ฐ์ํ๋ ์ค๋ฅ!
๋ฐ๋ผ์ null์ด ๋ ์ ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฐ์ ์ผ์ชฝ์ ๋๋๊ฒ ์์ ํ๋ค.
โจํด๊ฒฐ ๋ฐฉ๋ฒ
null์ด ๋์ฌ ์ ์๋ ๊ฐ์ ์ผ์ชฝ์ ๋๋ฉด ๋๋ค.
์ฆ, answer.equals("exit"); ์ด ์๋
"exit".equals(answer)๋ก ์ฌ์ฉํ๋ค (์์๋ฅผ ๋ฐ๊พผ ๊ฒ)
null.equals("exit");๋ NPE๊ฐ ๋ฐ์ (์ฌ์ฉํ๋ฉด ์๋จ)
"exit".equlas(null);์ false ๋ฐํ (์์ ํจ)
์ด๋ ๊ฒ ํ๊ณ "exit".equals(null)์ผ ๋ ์์ธ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ๋๋ค.
null์ด ๋์ฌ ์ ์๋ ๊ฐ์ ์ผ์ชฝ์ ๋๋ ์ต๊ด์ ๊ฐ์ง์!!!
2. ์ ๋ ฅ๋ฐ๋ ์ฝ๋ ๋ฐ๋ก, ๊ฒ์ฆํ๋ ์ฝ๋ ๋ฐ๋ก ์ฐ๊ณ ์ถ์๋๋ฐ
(๊ทธ๋ ๊ฒ๋ ๋ถ๊ฐ๋ฅํ๊ฑด์ง) ์ ๋ ฅ → ๊ฒ์ฆ์ด ๋ฐ๋ก๋ฐ๋ก ์ด๋ฃจ์ด์ง๋๊ฒ ๋์๋ฏ ํ๋ค.
3. 1๋จ๊ณ์์ ๋ด๊ฐ ํด๊ฒฐํ๊ณ ์ถ์๋ ๋ฌธ์ ๋ค, ์ด์ฐจํผ 2๋จ๊ณ์์ ํด๊ฒฐํด์ผ ํจ.
๊ทธ๋์ ์ง๊ธ ํด๊ฒฐํ๊ณ ๋์ด๊ฐ๋ ์ง, ๋์ด๊ฐ์ ์์ ํ๋์ง ์ฌ์ค์ ์กฐ์ผ๋ชจ์ฌ.!
๊ทธ๋ฆฌ๊ตฌ.. ๋ด๊ฐ ์ฌ์ญค๋ดค๋ ๋ฌธ์ ๋ค์ด 3์ฃผ์ฐจ ๊ฐ์ ๋ค์ผ๋ฉด ํด๊ฒฐ๋ ์ ์์ ๊ฒ์ด๋ผ๊ณ ํ์ฌ ใ .ใ
๊ฐ์๋ฅผ ๋ฃ์...
(TMI. scanner ์ด์ ์ต์ํด์ง๋ ค๊ณ ํ๋๋ฐ, ์ถํ์๋ ๋ณผ์ผ์ด ์์๊ฑฐ๋ผ๊ณ ํ์ฌ. ์ด๋ด์๊ฐ ๋ค๋ฅด๊ฒ ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค๊ณ ํ์ จ๋๋ฐ ๊น๋จน์๋ค. ๋ค์์ ์ง์ง ํ์๋ ๋ง์ ๋ค ๋ฐ์์ ์ด์ผ๊ฒ์ด)
4. GPT๊ฐ ๋ฌด์์ ๋์๊ฒ์ ์๋์ง๋ง, GPT๊ฐ ์ค๋ช ํด์ฃผ๋ ๋ด์ฉ์ ์ดํด๋ชปํ๋๋ฐ ์ ์ฉํ๋๊ฑฐ๋ ์์ฐ๋๋๋ง ๋ชปํจ!!! ์ธ๊ฑฐ๋ฉด ๋ค ์ดํดํ๊ณ ์ฐ๊ธฐ, GPT์ ์์กด์ด ๋์๊ฒ์ด์ผ
5. ์ ๊ทธ๋ฆฌ๊ตฌ!!! switch๋ฌธ์ continue์ฐ๋๊น ๋ด๊ฐ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ์ด ํด๊ฒฐ๋๋ค!!!!! ์ฐํํ