๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž - 1

"์•ˆ๋…•, ์•„๋ฏธ๊ณ !"

"์ด์ œ ์šฐ๋ฆฌ๋Š” ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์ž‘์€ ๊ตํ›ˆ์„ ์–ป์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค."

"์•Œ๊ณ  ์žˆ๋Š” ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"

โ€” OR(||), AND(&&), NOT(!)

"๊ทธ๋ž˜. ์ž˜ํ–ˆ์–ด. ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ธฐ์–ตํ•˜๋‹ˆ?"

"์˜ˆ."

"OR์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ฐธ์ผ ๋•Œ ์ฐธ์„ ์‚ฐ์ถœํ•ฉ๋‹ˆ๋‹ค."

"AND๋Š” ๋‘ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ ์ฐธ์„ ์‚ฐ์ถœํ•ฉ๋‹ˆ๋‹ค."

"NOT๋Š” true๋ฅผ false๋กœ, false๋ฅผ true๋กœ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."

"๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ํ‘œํ˜„์‹์—์„œ ์—ฐ์‚ฐ์ž๋Š” ์–ด๋–ค ์ˆœ์„œ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๊นŒ?"

boolean a = true;
boolean b = false;
boolean c = true;

boolean result = a && b || !c && b || !a;

"์ด๊ฒƒ์€ ๋ชจ๋‘ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค."

"๋จผ์ € NOT(!), ๊ทธ ๋‹ค์Œ AND(&&), ๊ทธ ๋‹ค์Œ OR(||) ๋งจ ๋์—."

๊ด„ํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค.

boolean a = true;
boolean b = false;
boolean c = true;

boolean result = (a && b) || ((!c) && b) || (!a);

"๋งž์Šต๋‹ˆ๋‹ค. ์ž˜ํ•˜์…จ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?"

โ€” 1) (a && b) == (์ฐธ && ๊ฑฐ์ง“) == ๊ฑฐ์ง“

2) ((!c) && b) == (๊ฑฐ์ง“ && ๊ฑฐ์ง“) == ๊ฑฐ์ง“

3) (!a) == ๊ฑฐ์ง“

4) ๊ฑฐ์ง“ || ๊ฑฐ์ง“ || ๊ฑฐ์ง“ == ๊ฑฐ์ง“

"๊ฒฐ๊ณผ๋Š” ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค."

"์ฃผ์ œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๊ตฐ์š”. ๊ทธ๋Ÿผ ๋ช‡ ๊ฐ€์ง€ ์ž‘์€ ๋น„๋ฐ€์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค."

"์ฒซ์งธ, ๋…ผ๋ฆฌ์‹์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค."

"๋‘ ๋ฒˆ์งธ, ์—ฌ๊ธฐ์—์„œ๋Š” ๋‹จ๋ฝ ํ‰๊ฐ€๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๊ณ„์‚ฐ์€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜ํ–‰๋จ). ํ‘œํ˜„์‹์˜ ์ผ๋ถ€๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ํ‘œํ˜„์‹์€ ํ‰๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."

์˜ˆ
boolean result = (true && false) || (true && true) || (true && false);

"์ด ์‹์€ OR(||) ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ๋ถ„๋œ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค."

"์ ์–ด๋„ ํ•œ ๋ถ€๋ถ„์ด ์ฐธ์ด๋ฉด ๋Œ€๋‹ต์€ ์ฐธ์ด๊ณ  ๋‹ค๋ฅธ ๊ฒƒ์€ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค."

1)  ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„ ํ‰๊ฐ€:  (true && false) == false

2)  ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„ ํ‰๊ฐ€:  (true && true) == true

3) ๋Œ€๋‹ต์ด ์ฐธ์ผ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์ด ์ด๋ฏธ ๋ถ„๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ ๋ฒˆ์งธ ๋ถ€๋ถ„์„ ํ‰๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค .

"์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ฒŒ์œผ๋ฅธ ํ‰๊ฐ€๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค."

"์ข‹์•„์š”. ๊ทธ๋ฆฌ๊ณ  ๋ญ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ํŠน๋ณ„ํ•œ๊ฐ€์š”?"

"์•„๋ฌด๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค. ์‹ ๋‚ด์—์„œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์„ ์‹œ์ž‘ํ•  ๋•Œ๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ์‹์˜ ์ผ๋ถ€๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฉด ๊ฑด๋„ˆ๋›ด ๋ถ€๋ถ„์˜ ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."

"ํ•˜์ง€๋งŒ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋งค์šฐ ๋ณดํŽธํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค."

์˜ˆ:
Job job = null;

if (job != null && job.isDone())
{
โ€ฆ
}

"์‹์„ ํ‰๊ฐ€ํ•  ๋•Œ ์ž‘์—…์ด null์ด๋ฉด job.isDone() ํ˜ธ์ถœ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!"

"์‹ค์ œ๋กœ ์‹์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ๊ฑฐ์ง“์ด๊ณ  ๋’ค์— AND(&&)๊ฐ€ ์˜ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „์ฒด ์‹์€ ๊ฑฐ์ง“์œผ๋กœ ์•Œ๋ ค์ง€๊ณ  ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."

"๋งž์•„์š”. ์ข‹์€ ๊ธฐ์ˆ ์ด์ฃ ?"

"๋„ค."