Yoda Notation
๐ซ Yoda Notation(Condition)
1
2
3
4
5
// 1
if (length >= 10)
// 2
if (10 <= length)
โ180๋ณด๋ค ๋ด ํค๊ฐ ์ปธ๋ค๋ฉด..โ ์ ์๋ฌด๋๋ ๋ถ์์ฐ์ค๋ฝ๋ค.
๊ฐ์ ์ด์ ๋ก 2๋ฒ ์กฐ๊ฑด๋ฌธ๋ ๋ถ์์ฐ์ค๋ฝ๋ค.
โ10์ด length๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉดโ ์ ์๋ฌด๋๋ ๋ถ์์ฐ์ค๋ฝ๋ค.
์ด์ฒ๋ผ ๋น๊ต ์กฐ๊ฑด๋ฌธ์ ์ ์ ๋๋, โ๋ด ํค๊ฐ 180๋ณด๋ค ์ปธ๋ค๋ฉด..โ ๊ฐ์ ์ด์๊ณผ ๋์ผํ๊ฒ,
์ผ์ชฝ์ ๋ณํ๋ ๊ฐ(์ง๋ฌธ์ ๋ฐ๋), ์ค๋ฅธ์ชฝ์ ์ ํด์ง ๊ฐ(๋น๊ต ๋์์ผ๋ก ์ฌ์ฉ ๋๋) ์ผ๋ก ์ ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
โlength๊ฐ 10๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉดโ ์ ์๋์ ์ผ๋ก ์์ฐ์ค๋ฝ๋ค.
๋ฐ๋ฉด, ์๋์ ์ผ๋ก 2๋ฒ ์กฐ๊ฑด๋ฌธ์ฒ๋ผ ์ ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
1
2
if (intVar = 10)
// intVar == 10 ์ด๋ผ๊ณ ์ ์์ด์ผ ํ๋๋ฐ !
์์ฒ๋ผ == ๋ฅผ ์จ์ผ ํ๋ ์ํฉ์์,
์ค์๋ก = ๋ง ์ ์ด๋ฒ๋ฆฌ๋ ์ค์๋ฅผ ํ ๋๊ฐ ์๋ค.
์ด๋ ๋ถ๋ช
๋
ผ๋ฆฌ์ ์ธ ์ค๋ฅ๊ฐ ์กด์ฌํ์ง๋ง, ์ฝ๋ ์์ ์ค๋ฅ๋ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์,
์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๋๋ฌธ์ ์ด๋ฅผ ๋์น๋ ๊ฒฝ์ฐ,
์ง์ ๋ฒ๊ทธ๋ฅผ ์ฐพ์์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค.
1
2
if (10 = intVar)
// ์ปดํ์ผ ์๋ฌ !
์ด๋, ์์ฒ๋ผ ํผ์ฐ์ฐ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ๊ฒ ๋๋ค๋ฉด,
์์์ ๋ณ์๋ฅผ ๋์
ํ ์๋ ์๊ธฐ์, ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
์ด๋ฅผ ํตํด ์ค์๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํ ์ ์๋ค!
์ด์ฒ๋ผ ์๋์ ์ผ๋ก ์ฝ๊ธฐ์ ๋ถ์์ฐ์ค๋ฌ์ด ์์๋ก ๋น๊ต ์กฐ๊ฑด๋ฌธ์ ์ ๋ ๋ฐฉ๋ฒ์,
์คํ์์ฆ์ ๋ฑ์ฅ์ธ๋ฌผ, ์๋ค๊ฐ ์ด์ํ ์ด์์ผ๋ก ๋งํ๋ค๋ ํน์ง์์ ๋ฐ์,
์๋ค ํ๊ธฐ๋ฒ(์กฐ๊ฑด) ์ด๋ผ๊ณ ํ๋ค.
์๋ค ํ๊ธฐ๋ฒ์๋ ๋ ๋ค๋ฅธ ์ด์ ๋ ์๋ค.
1
2
3
4
5
6
7
8
9
// 1
String myString = null;
if (myString.equals("foobar")) { /* ... */ }
// This causes a NullPointerException in Java
// 2
String myString = null;
if ("foobar".equals(myString)) { /* ... */ }
// This resolves to false without throwing a NullPointerException
์๋ Wikipedia์ Yoda_conditions ๋ฌธ์์ ์์ ๋ค.
์๊ฐ์ ์ํฉ์์๋ ์์ธ ๋ฐ์์ ํผํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ ๋ ํ๊ฒ ๋๋ค.
์ด๋ฌํ ์ด์ ๋ค์ด ๋ถ๋ช ์กด์ฌํ๊ธฐ๋ ํ์ง๋ง,
์ต์ ์ปดํ์ผ๋ฌ/IDE ์์๋ ์์๋ฑ์ผ๋ก ์ค์์ ๋ํด ๊ฒฝ๊ณ ๋ฅผ ํ๊ธฐํด์ฃผ๊ธฐ๋ ํ๊ณ ,
์ ์ด์ ํ ๋น ์ฐ์ฐ ์ ๋ฐํ๊ฐ์ด ์กด์ฌํ์ง ์๊ฑฐ๋, ์กฐ๊ฑด๋ฌธ์ ํ ๋น ์ฐ์ฐ๋ฌธ์ ํ์ฉํ์ง ์๋ ์ธ์ด๋ค๋ ์๊ณ ,
๋ฌด์๋ณด๋ค ๊ฐ๋
์ฑ์ ํด์น๊ธฐ ๋๋ฌธ์,
โ์๋ค ํ๊ธฐ๋ฒ์ ๋ถํ์ํ ๊ณผ๊ฑฐ์ ๊ฒ์ด ๋์ด ๊ฐ๊ณ ์๋ค.โ
๋ผ๋ โ์ฝ๊ธฐ ์ข์ ์ฝ๋๊ฐ ์ข์ ์ฝ๋๊ฐโ ์ ์์ ์๊ฒฌ์ฒ๋ผ,
์์ฆ ๋ค์ด์๋ ๊ทธ๋ ๊ฒ ์ฐ์ด์ง ์๋ ๋ชจ์์ธ ๊ฒ ๊ฐ๋ค.