JavaRush /Java Blog /Random-KO /์š”๋‹ค ์กฐ๊ฑด
MAX
๋ ˆ๋ฒจ 16
ะšะธั€ะพะฒ

์š”๋‹ค ์กฐ๊ฑด

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์Šคํƒ€ ์‚ฌ๊ฐ€์˜ ์—ํ”ผ์†Œ๋“œ V ์ถœ์‹œ 40์ฃผ๋…„์„ ๊ธฐ๋…ํ•˜์—ฌ Star Wars ๋ฐ Java/JavaRush์˜ ๋ชจ๋“  ํŒฌ์—๊ฒŒ ์งง์€ ๊ฒŒ์‹œ๋ฌผ์„ ๋ฐ”์นฉ๋‹ˆ๋‹ค! ์š”๋‹ค ์กฐ๊ฑด - 1๊ฐ€๋” ์ธํ„ฐ๋„ท์—์„œ ํฅ๋ฏธ๋กœ์šด ๊ฒƒ๋“ค์„ ๋งŽ์ด ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์–ผ๋งˆ ์ „ ์ €๋Š” Yoda Conditions ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์–ธ๋œป ๋ณด๊ธฐ์— ๊ฝค ์žฌ๋ฏธ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค . ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, Yoda ์กฐ๊ฑด(๋˜ํ•œ Yoda ํ‘œ๊ธฐ๋ฒ•)์€ ์กฐ๊ฑด๋ฌธ์—์„œ ์นœ์ˆ™ํ•œ ๋น„๊ต ํ‘œํ˜„์‹์˜ ๋‘ ๋ถ€๋ถ„์ด ๋ฐ˜์ „๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค.
if (5 == a) {
    // do something
}
์ด ์Šคํƒ€์ผ์€ C์™€ ์œ ์‚ฌํ•œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„ ๋ฐ ํ‘œํ˜„์‹์—์„œ ์‚ฌ์šฉ if๋ฉ๋‹ˆ๋‹ค while.
if (0 == variable) {
    // do something
}

while (false == endingCondition) {
    // do something
}
์ƒ์ˆ˜ ํ‘œํ˜„์‹์„ ๋น„๊ต ์—ฐ์‚ฐ์ž์˜ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? Saga์˜ 9๊ฐœ 6๊ฐœ ๋ถ€๋ถ„ ์„ ๋ชจ๋‘ ๋งˆ๋ผํ†ค์œผ๋กœ ์‹œ์ฒญํ•œ ํ›„ ์šฐ๋ฆฌ๊ฐ€ ์ž ๋„ ์ž์ง€ ์•Š๊ณ  ์•‰์•„ ์• ์™„๋™๋ฌผ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋‹ค์Œ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฐ€์ƒ์˜ ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .
void checkNumber(int a)
{
    if (a = 13) // ะ—ะดะตััŒ-ั‚ะพ ะธ ะฟะพัะฒะปัะตั‚ัั ั‚ะฐะบ ะฝะฐะทั‹ะฒะฐะตะผั‹ะน unexpected behavior!
    {
        printf("Number is 13");
    }
}
์ด ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๋ฉ”์†Œ๋“œ์— Number is 13"์ „๋‹ฌ๋œ ์ธ์ˆ˜์— ๊ด€๊ณ„์—†์ด ๋ฌธ์ž์—ด์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค . ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๋Œ€ํ–ˆ๋˜ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค! ์ดˆ๋ณด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค ์‚ฌ์ด์—์„œ๋Š” ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๊ฐ€ ๊ฝค ์ž์ฃผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ €๋ฅผ ๋ฏฟ์œผ์„ธ์š”. ์ €๋„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฌ๋‚˜ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ 13 = a์™€ ๊ฐ™์€ ์ฝ”๋“œ๋Š” ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ ๊ฐ’์€ ์ƒ์ˆ˜์ด๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ("a"๋กœ ์ „ํ™˜)ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ๊ฐ„๊ณผํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ะฐcheckNumber(int a)์š”๋‹ค ์กฐ๊ฑด - 1

Yoda์˜ ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์—๋Š” ์žฅ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ดํŠธ ์‚ฌ์ด๋“œ:

  1. ๋ชฉํ‘œ๊ฐ€ ๋น„๊ต์ผ ๋•Œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํ• ๋‹น์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  2. ์•ˆ์ „ํ•˜์ง€ ์•Š์€ "Null Behavior" ๋ฌธ์ œ ํ•ด๊ฒฐ( NullPointerException) // Wikipedia์˜ ์˜ˆ

  3. ์š”๋‹ค ์—†์ด:

    String myString = null;
    if (myString.equals("foobar")) { /* ... */ }
    // This causes a NullPointerException in Java

    ์š”๋‹ค์™€ ํ•จ๊ป˜:

    String myString = null;
    if ( "foobar".equals(myString) ) { // ะ ะตะทัƒะปัŒั‚ะฐั‚ - ะ›ะพะถัŒ
       /* ะฝะต ะฒั‹ะฟะพะปะฝัะตั‚ัั */
    }

์–ด๋‘์šด๋ฉด:

  1. ๊ท€ํ•˜์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ์‚ฌ๋žŒ๋“ค์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์€ ๋”์šฑ ๋ณต์žกํ•ด์ง€๋ฉฐ, ์ฝ”๋“œ ์ธ์‹์— ๋Œ€ํ•œ ๋ถ€๋‹ด์ด ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.
  2. ์ข์€ ๋ฒ”์œ„, ๊ฐ™์Œ ๋น„๊ต ๋˜๋Š” ์ƒ์ˆ˜์™€์˜ ๋น„๊ต๋งŒ ์‚ฌ์šฉ๋˜๋ฉฐ null์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ๋งŽ์€ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด๋ฏธ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์˜ค๋ฅ˜๋ฅผ "ํ™•์ธ"ํ•˜๊ณ  ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ๋ฏธ๋ฆฌ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
Yoda ํ‘œ๊ธฐ๋ฒ•์˜ ๋Œ€์•ˆ์œผ๋กœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ ๊ณตํ™”๊ตญ ์‹œ๋Œ€์—๋Š” ์ข‹์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฝ”๋“œ์— ์˜ค๋ฅ˜๊ฐ€ ์—†๊ณ  ์ž‘์„ฑ๋œ ๋Œ€๋กœ๋งŒ ์ˆ˜ํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋œ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์œ ์šฉํ•œ ๊ด€ํ–‰์„ ์•Œ๊ณ  ์žˆ๋‚˜์š”? ๋Œ“๊ธ€๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง€์‹์„ ๊ณต์œ ํ•ด๋ณด์„ธ์š”! ๊ทธ๋ฆฌ๊ณ  ์ข‹์•„ํ•˜๋Š” ์—ํ”ผ์†Œ๋“œ๋„ ์จ๋ณด์„ธ์š”! ๊ทธ๋ฆฌ๊ณ  ํฌ์Šค๊ฐ€ ๋‹น์‹ ๊ณผ ํ•จ๊ป˜ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION