- 10.1 ์กฐ๊ฑด๋ฌธ ๋ถํดํ๊ธฐ
- 10.2 ์กฐ๊ฑด์ ํตํฉํ๊ธฐ
- 10.3 ์ค์ฒฉ ์กฐ๊ฑด๋ฌธ์ ๋ณดํธ ๊ตฌ๋ฌธ์ผ๋ก ๋ฐ๊พธ๊ธฐ
- 10.4 ์กฐ๊ฑด๋ถ ๋ก์ง์ ๋คํ์ฑ์ผ๋ก ๋ฐ๊พธ๊ธฐ
- 10.5 ํน์ด ์ผ์ด์ค ์ถ๊ฐํ๊ธฐ
- 10.6 ์ด์์ ์ถ๊ฐํ๊ธฐ
- 10.7 ์ ์ด ํ๋๊ทธ๋ฅผ ํ์ถ๋ฌธ์ผ๋ก ๋ฐ๊พธ๊ธฐ
Note
'์กฐ๊ฑด๋ถ ๋ก์ง ๊ฐ์ํ' ์ฑํฐ๋ ๋ค์ ์ง๋ฌธ์ ์ค์ฌ์ผ๋ก ์ฝ์ด๋๊ฐ์๋ฉด ์ข์ต๋๋ค.
- ์ ์กฐ๊ฑด์ ์๋๊ฐ ๋๋ฌ๋์ผ ํ๋๊ฐ
- ์ด๋ป๊ฒ ํ๋ฉด ์กฐ๊ฑด์ ์๋๊ฐ ๋๋ฌ๋๋๊ฐ
- ๋ฌด์์ ํตํด ๋ณต์กํ ์กฐ๊ฑด์ ๋ถ๋ฆฌํ๊ณ ๊ตฌ์กฐํํ ์ ์๋๊ฐ
p. 354
์กฐ๊ฑด์ ๊ฒ์ฌํ๊ณ ๊ทธ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅธ ๋์์ ํํํ ์ฝ๋๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง๋ ์ด์ผ๊ธฐํด์ฃผ์ง๋ง '์' ์ผ์ด๋๋์ง๋ ์ ๋๋ก ๋งํด์ฃผ์ง ์์ ๋๊ฐ ๋ง์ ๊ฒ์ด ๋ฌธ์ ๋ค.
๊ฑฐ๋ํ ์ฝ๋ ๋ธ๋ก์ด ์ฃผ์ด์ง๋ฉด ์ฝ๋๋ฅผ ๋ถ์๋ณ๋ก ๋ถํดํ ๋ค์ ํด์ฒด๋ ์ฝ๋ ๋ฉ์ด๋ฆฌ๋ค์ ๊ฐ ๋ฉ์ด๋ฆฌ์ ์๋๋ฅผ ์ด๋ฆฐ ์ด๋ฆ์ ํจ์ ํธ์ถ๋ก ๋ฐ๊ฟ์ฃผ์. ๊ทธ๋ฌ๋ฉด ์ ์ฒด์ ์ธ ์๋๊ฐ ๋ ํ์คํ ๋๋ฌ๋๋ค.
p. 356
๋ชจ๋ ๋๋ฌ๋ค๋ฉด ์ทจํฅ์ ๋ฐ๋ผ ์ ์ฒด ์กฐ๊ฑด๋ฌธ์ 3ํญ ์ฐ์ฐ์๋ก ๋ฐ๊ฟ์ค ์๋ ์๋ค.
charge = summer() ? summerCharge() : regularCharge();
function summer() {
return !aDate.isBefore(plan.summerStart) && !aDate.isAfter(plan.summerEnd);
}
function summerCharge() {
return quantity * plan.summerRate;
}
function regularCharge() {
return quantity * plan.regularRate + plan.regularServiceCharge;
}
๐ก ์๊ฒฌ
- 3ํญ ์ฐ์ฐ์์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ถ์ด ์ธ์์ ์ด์๊ณ ํจ์๋ ํ๋์ ๊ฐ์ด์์ง ํ๊ณ ๋ค์ ํ๋ฒ ๊นจ๋ฌ์์ต๋๋ค.
p. 357
์ฒซ์งธ, ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋ ์กฐ๊ฑด๋ค์ ํ๋๋ก ํตํฉํจ์ผ๋ก์จ ๋ด๊ฐ ํ๋ ค๋ ์ผ์ด ๋ ๋ช ํํด์ง๋ค.
๋ ๋ฒ์งธ ์ด์ ๋ ์ด ์์ ์ด ํจ์ ์ถ์ถํ๊ธฐ๊น์ง ์ด์ด์ง ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
ํจ์ ์ถ์ถํ๊ธฐ๋ '๋ฌด์'์ ํ๋์ง๋ฅผ ๊ธฐ์ ํ๋ ์ฝ๋๋ฅผ '์' ํ๋์ง๋ฅผ ๋งํด์ฃผ๋ ์ฝ๋๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ๊ณผ์ ์ธ ๋๊ตฌ์์ ๊ธฐ์ตํ์.
p. 358
๋ค์ ๋งํด ์ง์ง๋ก ๋ ๋ฆฝ๋ ๊ฒ์ฌ๋ค์ด๋ผ๊ณ ํ๋จ๋๋ฉด ์ด ๋ฆฌํฉํฐ๋ง์ ํด์๋ ์ ๋๋ค.
๐ก ์๊ฒฌ
- ํด๋ฆฐ ์ฝ๋์ ๋ฐ๋ฅด๋ฉด if๋ฌธ ์กฐ๊ฑด์์๋ ๊ธ์ ๋ฌธ์ผ๋ก ์ ๋ ๊ฒ ์ข๋ค๊ณ ํฉ๋๋ค. ๋ ๊ตฌ์กฐ์ ์ดํดํ๊ธฐ ์ฝ๋ค๊ณ ํ๋ค์.
p. 360
function getPayAmount() {
if (isDead) return deadAmount();
if (isSeparated) return separatedAmount();
if (isRetired) return retiredAmount();
return normalPayAmount();
}
๐ก ์๊ฒฌ
- ์ด ๋ฒ ๋ฃ๋ ๊ฒ๋ณด๋ค ํ ๋ฒ ๋ณด๋ ๊ฒ์ด ๋ ๋ซ๋ค๊ณ ํ๋๋ฐ ์ด ์ฝ๋๋ ์ง๊ด์ ์ด๋ผ ๊ธฐ์ตํ๊ธฐ ์ฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
p. 361
๋ ๋ฒ์งธ ๊ฒ์ฌ ํํ๋ฅผ ํํ ๋ณดํธ ๊ตฌ๋ฌธguard clause์ด๋ผ๊ณ ํ๋ค.
์ด์ ๋ฌ๋ฆฌ, ๋ณดํธ ๊ตฌ๋ฌธ์ "์ด๊ฑด ์ด ํจ์์ ํต์ฌ์ด ์๋๋ค. ์ด ์ผ์ด ์ผ์ด๋๋ฉด ๋ฌด์ธ๊ฐ ์กฐ์น๋ฅผ ์ทจํ ํ ํจ์์์ ๋น ์ ธ๋์จ๋ค"๋ผ๊ณ ์ด์ผ๊ธฐํ๋ค.
ํจ์์ ์ง์ ์ ๊ณผ ๋ฐํ์ ์ด ํ๋์ฌ์ผ ํ๋ค๊ณ ๋ฐฐ์ด ํ๋ก๊ทธ๋๋จธ์ ์ผํ๋ค ๋ณด๋ฉด ์ด ๋ฆฌํฉํฐ๋ง์ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋๋ค. ์ง์ ์ ์ด ํ๋๋ผ๋ ์กฐ๊ฑด์ ์ต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ๊ฐ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฐํ์ ์ด ํ๋์ฌ์ผ ํ๋ค๋ ๊ท์น์, ์ ๋ง์ด์ง ์ ์ฉํ์ง ์๋ค. ์ฝ๋์์๋ ๋ช ํํจ์ด ํต์ฌ์ด๋ค. ๋ฐํ์ ์ด ํ๋์ผ ๋ ํจ์์ ๋ก์ง์ด ๋ ๋ช ๋ฐฑํ๋ค๋ฉด ๊ทธ๋ ๊ฒ ํ์. ๊ทธ๋ ์ง ์๋ค๋ฉด ํ์ง ๋ง์.
p. 363
์์: ์กฐ๊ฑด ๋ฐ๋๋ก ๋ง๋ค๊ธฐ
<๋ฆฌํฉํฐ๋ง ์ >
function adjustedCapital(anInstrument) {
let result = 0;
if (anInstrument.capital > 0) {
if (anInstrument.interestRate > 0 && anInstrument.duration > 0) {
result =
(anInstrument.income / anInstrument.duration) *
anInstrument.adjustmentFactor;
}
}
return result;
}
<๋ฆฌํฉํฐ๋ง ํ>
function adjustedCapital(anInstrument) {
if (
anInstrument.capital <= 0 ||
anInstrument.interestRate <= 0 ||
anInstrument.duration <= 0
)
return 0;
return (
(anInstrument.income / anInstrument.duration) *
anInstrument.adjustmentFactor
);
}
๐ก ์๊ฒฌ
- ์์์์ AND ์กฐ๊ฑด์ NOT์ผ๋ก ๋ฌถ์ ๋ค์ ๋ค์ ํ์ด์ ํตํฉํ๋ ๋ฐฉ์์ ๊ฐํํ์ต๋๋ค.
- ์ค๋ฌด์์ ์ด๋ฐ ์ค์ฒฉ๋ if๋ฌธ์ ์ข ์ข ๋ง๋๋๋ฐ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ด ์ธ์ ๊น์์ต๋๋ค.
p. 367
ํ์ ์ ์ฌ๋ฌ ๊ฐ ๋ง๋ค๊ณ ๊ฐ ํ์ ์ด ์กฐ๊ฑด๋ถ ๋ก์ง์ ์์ ๋ง์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋๋ก ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
๊ธฐ๋ณธ ๋์์ ์ํ case๋ฌธ๊ณผ ๊ทธ ๋ณํ ๋์์ผ๋ก ๊ตฌ์ฑ๋ ๋ก์ง์ ๋ ์ฌ๋ฆด ์ ์๋ค.
๋คํ์ฑ์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ์ด๋ค. ํ์ง๋ง (์ ์ฉํ ๊ธฐ๋ฅ๋ค์ด ๋ ๊ทธ๋ ๋ฏ) ๋จ์ฉํ๊ธฐ ์ฝ๋ค. ์ค์ ๋ก ๋ชจ๋ ์กฐ๊ฑด๋ถ ๋ก์ง์ ๋คํ์ฑ์ผ๋ก ๋์ฒดํด์ผ ํ๋ค๊ณ ์ฃผ์ฅํ๋ ์ฌ๋๋ ๋ง๋ ์ ์ด ์๋ค. ๋๋ ๊ทธ ๊ฒฌํด์๋ ๋์ํ์ง ์๋๋ค. ์กฐ๊ฑด๋ถ ๋ก์ง ๋๋ถ๋ถ์ ๊ธฐ๋ณธ ์กฐ๊ฑด๋ฌธ์ธ if/else์ switch/case๋ก ์ด๋ค์ง๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์์ ์ด์ผ๊ธฐํ ๋ฐฉ๋ฒ๋ค๋ก ๊ฐ์ ํ ์ ์๋ ๋ณต์กํ ์กฐ๊ฑด๋ถ ๋ก์ง์ ๋ฐ๊ฒฌํ๋ฉด ๋คํ์ฑ์ด ๋ง๊ฐํ ๋๊ตฌ์์ ๊นจ๋ซ๊ฒ ๋๋ค.
p. 375
์์: ๋ณํ ๋์์ ๋คํ์ฑ์ผ๋ก ํํํ๊ธฐ
๐ก ์๊ฒฌ
- ์ด๋ฒ ์์ ์ฝ๋๋ ์ค๋ฌด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ฝ๋๋ผ ๋ง์ ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
p. 377
์ด ํน์ํ ์ํฉ์ ๋ค๋ฃจ๋ ๋ก์ง๋ค์ ๊ธฐ๋ณธ ๋์์์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์์๊ณผ ๋คํ์ฑ์ ์ด์ฉํ ๊ฒ์ด๋ค. ๋ค๋ ์จ ๋ฐ ์๋ ์ค๊ตญ์ผ๋ก์ ํญํด ์ ์ถ๊ฐ๋ ํน๋ณํ ๋ก์ง์ด ๋ ๋ง์๋ค๋ฉด ์ด๋ฒ ๋ฆฌํฉํฐ๋ง์ ํจ๊ณผ๊ฐ ๋์ฑ ์ปธ๊ฒ ์ง๋ง, ์ง๊ธ ์ํฉ์์๋ ์ด ํน์ ์ํฉ์ ๊ฒ์ฌํ๋ ๋ก์ง์ด ๋ฐ๋ณต๋์ด ๊ธฐ๋ณธ ๋์์ ์ดํดํ๋ ๋ฐ ๋ฐฉํด๊ฐ ๋๊ณ ์๋ค.
p. 379
๊ทธ๋ฐ ๋ค์ ์ ์ ํ ๋ณํ ํด๋์ค๋ฅผ ๋ฐํํด์ค ํฉํฐ๋ฆฌ ํจ์๋ฅผ ๋ง๋ ๋ค.
๐ก ์๊ฒฌ
- ํฉํฐ๋ฆฌ ํจ์๋ ์ด๋ค ํจ์๊ฐ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ๋ปํ๋ค๊ณ ํฉ๋๋ค. ์ด๋ฐ ํจํด๋ ์๊ตฌ๋ ํ๊ณ ์๊ฐํ์ต๋๋ค.
p. 388
์ด์ฒ๋ผ ์ฝ๋๋ฒ ์ด์ค์์ ํน์ ๊ฐ์ ๋ํด ๋๊ฐ์ด ๋ฐ์ํ๋ ์ฝ๋๊ฐ ์ฌ๋ฌ ๊ณณ์ด๋ผ๋ฉด ๊ทธ ๋ฐ์๋ค์ ํ ๋ฐ๋ก ๋ชจ์ผ๋ ๊ฒ ํจ์จ์ ์ด๋ค.
ํน์ํ ๊ฒฝ์ฐ์ ๊ณตํต ๋์์ ์์ ํ๋์ ๋ชจ์์ ์ฌ์ฉํ๋ ํน์ด ์ผ์ด์ค ํจํดSpecial Case Pattern์ด๋ผ๋ ๊ฒ
ํน์ด ์ผ์ด์ค๋ ์ฌ๋ฌ ํํ๋ก ํํํ ์ ์๋ค. ํน์ด ์ผ์ด์ค ๊ฐ์ฒด์์ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ๋ง ํ๋ค๋ฉด ๋ฐํํ ๊ฐ๋ค์ ๋ด์ ๋ฆฌํฐ๋ด ๊ฐ์ฒด ํํ๋ก ์ค๋นํ๋ฉด ๋๋ค. ๊ทธ ์ด์์ ์ด๋ค ๋์์ ์ํํด์ผ ํ๋ค๋ฉด ํ์ํ ๋ฉ์๋๋ฅผ ๋ด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ๋๋ค.
p. 389
์ด๋ฒ ๋ฆฌํฉํฐ๋ง์ ๋์์ด ๋ ์์ฑ์ ๋ด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ(ํน์ ํด๋์ค)์์ ์์ํ์.
์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋์์๋ ํด๋น ์์ฑ์ด ํน์ดํ ๊ฐ์ธ์ง๋ฅผ ๊ฒ์ฌํ๋ค. ์ฐ๋ฆฌ๋ ์ด ๋์์ด ๊ฐ์ง ์ ์๋ ๊ฐ ์ค ํน๋ณํ๊ฒ ๋ค๋ค์ผ ํ ๊ฐ์ ํน์ด ์ผ์ด์ค ํด๋์ค(ํน์ ๋ฐ์ดํฐ ๊ตฌ์กฐ)๋ก ๋์ฒดํ๊ณ ์ ํ๋ค.
p. 391
UnknownCustomer๋ฅผ Customer์ ์๋ธํด๋์ค๋ก ๋ง๋ค์ง ์์์์ ์ฃผ๋ชฉํ์. ๋ค๋ฅธ ์ธ์ด, ํนํ ์ ์ ํ์ ์ธ์ด์๋ค๋ฉด ์๋ธํด๋์ค๋ก ๋ง๋ค์์ ๊ฒ์ด๋ค. ํ์ง๋ง ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋ธํด๋์ค ๊ท์น๊ณผ ๋์ ํ์ดํ ๋ฅ๋ ฅ ๋๋ถ์ ์ด ๊ฒฝ์ฐ์ ์ง๊ธ ์์ฒ๋ผ ๋ง๋๋ ํธ์ด ๋ซ๋ค.
๐ก ์๊ฒฌ
- ๋ ํ์ดํ์ด๋ผ๋ ๊ฐ๋ ์ด ๋งค๋ ฅ์ ์ผ๋ก ๋๊ปด์ก์ต๋๋ค.
- ๋ ํ์ดํ์ด๋ ๋์ ํ์ดํ์ ํ ์ข ๋ฅ์ด๊ณ ๊ฐ์ฒด์ ๋ณ์์ ๋ฉ์๋์ ์งํฉ์ด ๊ฐ์ฒด์ ํ์ ์ ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค. "๋ง์ฝ ์ด๋ค ์๊ฐ ์ค๋ฆฌ์ฒ๋ผ ๊ฑท๊ณ , ํค์์น๊ณ , ๊ฝฅ๊ฝฅ๊ฑฐ๋ฆฌ๋ ์๋ฆฌ๋ฅผ ๋ธ๋ค๋ฉด ์ค๋ฆฌ๊ฐ ์๋ ๋ฆฌ ์๋ค" ์ด๋ฐ ๋น์ ๋ฅผ ๋ค์์ต๋๋ค.
- ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋๋ฐ ๋ ํ์ดํ ๋ฐฉ์์ ์ฌ์ฉํ์ง ์๊ณ ์์๋ฐ์ ๋๋ ๋ช ์ํด์ ํํํ๊ณ ์์ต๋๋ค.
p. 398
์์: ๋ณํ ํจ์ ์ด์ฉํ๊ธฐ
์์ ๋ ์๋ ๋ชจ๋ ํด๋์ค์ ๊ด๋ จ ์์ง๋ง, ๋ณํ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ์ ์์ด๋์ด๋ฅผ ๋ ์ฝ๋์๋ ์ ์ฉํ ์ ์๋ค.
๐ก ์๊ฒฌ
- ์ด์ ์์์ ๋ค๋ฅด๊ฒ ํจ์๋ก ๋ฆฌํฉํฐ๋งํ๋ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋๋ฐ ์ผ๋ถ ํ๋กํผํฐ๋ง ๋ฐํํ๋ ๋ฐฉ์์ ์ธ์ ๊น๊ฒ ๋ดค์ต๋๋ค.
p. 404
์ด์์ ์ ํญ์ ์ฐธ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ์กฐ๊ฑด๋ถ ๋ฌธ์ฅ
์ด์์ ์คํจ๋ ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์์๋ ์ ๋ ๊ฒ์ฌํ์ง ์์์ผ ํ๋ฉฐ, ์ด์์ ์ด ์๊ณ ์๊ณ ๊ฐ ํ๋ก๊ทธ๋จ ๊ธฐ๋ฅ์ ์ ์ ๋์์ ์๋ฌด๋ฐ ์ํฅ์ ์ฃผ์ง ์๋๋ก ์์ฑ๋ผ์ผ ํ๋ค. ๊ทธ๋์ ์ด์์ ์ ์ปดํ์ผํ์์ ์ผ๊ณ ๋ ์ ์๋ ์ค์์น๋ฅผ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์๋ค.
๋จ์ ํ ์คํธ๋ฅผ ๊พธ์คํ ์ถ๊ฐํ์ฌ ์ฌ๊ฐ์ ์ขํ๋ฉด ์ด์์ ๋ณด๋ค ๋์ ๋๊ฐ ๋ง๋ค. ํ์ง๋ง ์ํต ์ธก๋ฉด์์๋ ์ด์์ ์ด ์ฌ์ ํ ๋งค๋ ฅ์ ์ด๋ค.
p. 406
ํํธ ์ด์์ ์ ๋จ๋ฐํ๋ ๊ฒ ์ญ์ ์ํํ๋ค. ๋๋ ์ฐธ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฐ์ ๋ชจ๋์ ์ด์์ ์ ๋ฌ์ง๋ ์๋๋ค. '๋ฐ๋์ ์ฐธ์ด์ด์ผ๋ง ํ๋' ๊ฒ๋ง ๊ฒ์ฌํ๋ค.
๐ก ์๊ฒฌ
- ์ค๋ฌด์์ ์ด์์ ์ ๋ง์ด ์ฌ์ฉํ๋์ง ๊ถ๊ธํ๋ฐ์. ์ฑ ์ ๋ณด๋ฉด ์ฌ์ฉ ์ ์ฃผ์์ฌํญ์ด ๋์ง๋์ง ๋ถ์ด์๋ ๊ฒ ๊ฐ๊ณ ์ค๋ฌด ์ฝ๋์์ ์ด์์ ์ ๋ดค๋ค๋ ๋ถ๋ ์๋ ๊ฒ ๊ฐ์์ ์ต๊ทผ์๋ ํ ์คํธ ์ฝ๋๋ก ๋ง์ด ๋์ฒด๋๊ณ ์๋ ์ถ๊ธฐ๋ ํฉ๋๋ค.
p. 407
์ ์ด ํ๋๊ทธ๋ ์ฝ๋์ ๋์์ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ณ์๋ฅผ ๋งํ๋ฉฐ, ์ด๋๊ฐ์์ ๊ฐ์ ๊ณ์ฐํด ์ ์ด ํ๋๊ทธ์ ์ค์ ํ ํ ๋ค๋ฅธ ์ด๋๊ฐ์ ์กฐ๊ฑด๋ฌธ์์ ๊ฒ์ฌํ๋ ํํ๋ก ์ฐ์ธ๋ค.
ํจ์์์ ํ ์ผ์ ๋ค ๋ง์ณค๋ค๋ฉด ๊ทธ ์ฌ์ค์ return๋ฌธ์ผ๋ก ๋ช ํํ ์๋ฆฌ๋ ํธ์ด ๋ซ์ง ์์๊น?
p. 410
๊ทธ๋ฆฌ๊ณ ์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ์์๋, ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ด์ ๋ค์๊ณผ ๊ฐ์ ๊ทผ์ฌํ ์งํฉ ์ฐ์ฐ์ ์ง์ํด์คฌ์ผ๋ฉด ํ๋ ๋ง์์ด ๊ฐ์ ํด์ง๋ค.
['์กฐ์ปค', '์ฌ๋ฃจ๋ง'].isDisjointWith(people);
๐ก ์๊ฒฌ
- ์๋ ์ฝ๋๋ณด๋ค ์งํฉ ์ฐ์ฐ์ ์ด ์ ์ฝ๋๊ฐ ์ฐธ ๊น๋ํ๋ฐ์. ์ด๋ฐ ํจ์๊ฐ ์์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์ฐ๋ฉด์ ๋ค๋ฅธ ์ธ์ด์ ์๋ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ ์ ์์ผ์ ๊ฐ์? ์๋ฅผ ๋ค์ด, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ ์ถ๋ ฅ์ด ์ฝ์ง ์์๋ ๊ฒฝํ์ด ์์ต๋๋ค.
- a[:3]์ฒ๋ผ ์ฌ๋ผ์ด์ค ๋ฌธ๋ฒ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ์ด์.
- a[-1] ๊ฐ์ ๋ฌธ๋ฒ๋ ์์ผ๋ฉด ์ข๊ฒ ์ด์. a.at(-1)์ ์ฐ๋ฉด ๊ฐ๋ฅํ๋ค๊ณ ํ๋๋ฐ ์ต์ ๋ฌธ๋ฒ์ด๋ผ ์ฌ์ฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๋ ์์ด์.
- ๋ฌธ์์ด์ ๋ฐฐ์ด์ฒ๋ผ ๋ค๋ฃฐ ์ ์๋ ๊ฑด ํธํด์. Java๋ ๋ฌธ์์ด์ ๋ค๋ฃจ๊ธฐ ์ด๋ ค์์ ์ฝ๋ฉ ํ ์คํธ ๋ณผ ๋ ๋ฌธ์์ด ๊ด๋ จ ๋ฌธ์ ๋ Java ๋ง๊ณ ๋ค๋ฅธ ์ธ์ด๋ก ํผ๋ค๊ณ ํ์๋ ๋ถ๋ ์๋๋ผ๊ณ ์.
- ์๋ฐ์คํฌ๋ฆฝํธ์์๋ Array.length = 3๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐฐ์ด์์ ์์๋ฅผ ์ ๊ฑฐํ ์๋ ์๋๋ฐ ๋ค๋ฅธ ์ธ์ด์์๋ ๋ง๋ ์ ๋๋ ์ผ์ธ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.