๐ Chapter 2: Education
๐ฆ ๊ฐ๋ฅํ๋ค๋ฉด ์ ๊ฒ ์บก์ํํ์ธ์โ
- ๋ณต์ก์ฑ์ด ๋์์๋ก ์ ์ง๋ณด์์ฑ์ด ์ ํ๋๊ณ , ์๊ฐ๊ณผ ๋์ด ๋ญ๋น๋๋ฉฐ, ๊ณ ๊ฐ ๋ง์กฑ๋๊ฐ ๋จ์ด์ง๋ค. ๋๋ฌธ์ 4๊ฐ ๋๋ ๊ทธ ์ดํ์ ๊ฐ์ฒด๋ฅผ ์บก์ํํ ๊ฒ์ ๊ถ์ฅํ๋ค.
- ๋ด๋ถ์ ์บก์ํ๋ ๊ฐ์ฒด ์ ์ฒด๋ฅผ ๊ฐ๋ฆฌ์ผ ๊ฐ์ฒด์ ์ํ ๋๋ ์๋ณ์๋ผ๊ณ ๋ถ๋ฅธ๋ค.
class Cash {
// 3๊ฐ์ ๊ฐ์ฒด๋ฅผ ์บก์ํํ๊ณ ์๋ค.
private Integer digits;
private Integer cents;
private String currency;
}
- ๋์ผํ ๊ฐ์ ๋ฌ๋ฌ, ์ผํธ, ํตํ๋ฅผ ์บก์ํํ๋
Cash
ํด๋์ค์ ๋ ๊ฐ์ฒด๋ ์๋ก ๋์ผํ๋ค๋ ๋ป์ด๋ค.
Cash x = new Cash(29, 95, "USD");
Cash y = new Cash(29, 95, "USD");
assert x.equals(y);
assert x == y;
- ์ ์์ ๋ ๋ ๊ฐ์ฒด
x
์y
์ ์ํ๋ ๋์ผํ์ง๋ง ์๋ณ์๋ ์๋ก ๋ค๋ฅด๋ค.==
์ฐ์ฐ์์equals
๋ก ๋ ๊ฐ์ฒด๊ฐ ์๋ก ๋์ผํ์ง ์๋ค๊ณ ํ๋จํ๋ค. - Java๋ฅผ ๋น๋กฏํ OOP ์ธ์ด์์ ๊ฐ์ฒด๋ ๋จ์ง ๋ฉ์๋๊ฐ ์ถ๊ฐ๋ ๋ฐ์ดํฐ์ ์งํฉ์ผ ๋ฟ์ด๋ค. ๋ฐ์ดํฐ์ ์ ์ฅ ์ฌ๋ถ์ ์๊ด์์ด ๋ณต์ฌ๋ณธ์ ๋น๊ตํ๋ ๊ฒฝ์ฐ์๋ ๋ค๋ฅด๋ค.
Object x = new Object();
Object y = new Object();
assert x.equals(y); // ์คํจ
- ๋ด๋ถ์ ์บก์ํ๋ ๋ชจ๋ ๊ฐ์ฒด๋ค์ด ๊ฐ์ฒด์ ์๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ผ๋ ์ฌ์ค์ ๋์ํ๋ค๋ฉด, ์ด์ ์บก์ํํ๊ธฐ์ ์ ํฉํ ๊ฐ์ฒด์ ์๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋ค.
- ์ต๋ 4๊ฐ๊ฐ ํฉ๋ฆฌ์ ์ธ ์ด์ ๋ 4๊ฐ ์ด์์ ์ํ๋ ์ง๊ด์ ์๋ฐฐ๋๋ค๋ ์ฌ์ค์ด๋ค.(์ฌ๋์ ์ด๋ฆ, ์๋ ์์ผ / ์๋์ฐจ๋ ์ ์กฐ์ฌ, ๋ชจ๋ธ, ์ ์กฐ๋ ๋)
- ๋ ๋ง์ ๊ฐ์ฒด๊ฐ ํ์ํ๋ค๋ฉด, ํด๋์ค๋ฅผ ๋ ์์ ํด๋์ค๋ค๋ก ๋ถํดํด์ผ ํ๋ค.
๐ฆ ์ต์ํ ๋ญ๊ฐ๋ ์บก์ํํ์ธ์โ
- ๋ค์ ์๋ ์บก์ํ๋ฅผ ํ์ง ์์ ๊ฐ์ฒด์ด๋ค.
class Year {
int read() {
return System.currentTimeMillis()
/ (1000 * 60 * 60 * 24 * 30 * 12) - 1970;
}
}
- ํ๋กํผํฐ๊ฐ ์๋ ํด๋์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์ ์ ๋ฉ์๋์ ์ ์ฌํ๋ค. ์ด๋ฐ ํด๋์ค๋ ์๋ฌด๋ฐ ์ํ์ ์๋ณ์๋ ๊ฐ์ง์ง ์๊ณ ์ค์ง ํ๋๋ง์ ํฌํจํ๋ค.
- ์คํ์ผ๋ก๋ถํฐ ์ธ์คํด์ค ์์ฑ์ ๊ณ ๋ฆฝ์์ผ์ผ ํ๋ค. ๋ค์ ๋งํด์ ์ค์ง
constructor
์์๋งnew
์ฐ์ฐ์๋ฅผ ํ์ฉํด์ผ ํ๋ค๋ ๋ป์ด๋ค.
class Year {
private Millis millis;
Year(Millis msec) {
this.millis = msec;
}
int read() {
return this.millis.read()
/ (1000 * 60 * 60 * 24 * 30 * 12) - 1970;
}
}
- ๊ฐ์ฒด๋ ๋ฌด์ธ๊ฐ๋ฅผ ์บก์ํํด์ผ ํ๋ค. ์ด ๊ฐ์ฒด๋ ์๊ธฐ ์์ ์ ์๋ณํ ์ ์๋๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ ์บก์ํํด์ผ ํ๋ค.
- ๋ง์ฝ ๊ฐ์ฒด๊ฐ ์ด๋ค ๊ฒ๋ ์บก์ํํ์ง ์๋๋ค๋ฉด ๊ฐ์ฒด์ ์ขํ๋ ๊ฐ์ฒด ์์ ์ด ์ธ๊ณ ์ ์ฒด๊ฐ ๋์ด์ผ ํ๋ค.
class Universe {
}
- ์ค์ง ํ๋์ ์ธ๊ณ๋ง ์กด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด ํด๋์ค๋ ์ค์ง ํ๋๋ง ์กด์ฌํด์ผ ํ๋ค.
- ๋ค์ ์์ ๋ ์๋ฒฝํ ๊ฐ์ฒด์งํฅ ์ค๊ณ๋ฅผ ์ ์ฉํ ๋ชจ์ต์ด๋ค.
class Year {
private Number num;
Year(final Millis msec) {
this.num = new Min(
new Div(
msec,
new Mul(1000, 60, 60, 24, 30, 12)
),
1970
);
}
int read() {
return this.num.intValue();
}
}
- ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
class Year {
private Number num;
Year(final Millis msec) {
this.num = msec.div(
1000.mul(60).mul(60).mul(24).mul(30).mul(12)
).min(1970);
}
int read() {
return this.num.intValue();
}
}
๐ฆ ํญ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ธ์.โ
- ๊ฐ์ฒด๋ค์ ์๋ก๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ ๊ฒฐํฉ๋๋ค๋ ๊ฒ์ด๋ค.
- ์ค๊ณ๋ฅผ ์์ํ๋ ๋จ๊ณ ์์ ๊ฐ๊ฐ์ ๊ฐ์ฒด๊ฐ ์ด๋ค ์ผ์ ์ํํด์ผ ํ๊ณ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ์ด๋ค ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ง๋ฅผ ์ ํํ๊ณ ์๊ณ ์๋ ํธ์ด ๋ซ๊ธฐ ๋๋ฌธ์ ๊ฒฐํฉ์ ์ ์ฉํ์ง๋ง ๊ฐ์ฒด์ ์๊ฐ ์์ญ ๊ฐ๋ฅผ ๋๊ฑฐ๊ฐ๋ฉด์๋ถํฐ ๊ฐ์ฒด ์ฌ์ด์ ๊ฐํ ๊ฒฐํฉ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด๋ฅผ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค๊ธฐ ์ํด์๋ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฆฌํด์ผํ๋ค.
- ๊ฐ์ฒด ๋ถ๋ฆฌ๋ ์ํธ์์ฉํ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์์ ํ์ง ์๊ณ ๋ ํด๋น ๊ฐ์ฒด๋ฅผ ์์ ํ ์ ์๋๋ก ๋ง๋ ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋๊ตฌ๊ฐ ๋ฐ๋ก ์ธํฐํ์ด์ค์ด๋ค.
interface Cash {
Cash multiply(float factor);
}
Cash
๋ ์ธํฐํ์ด์ค๋ก ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์ฌ์ํตํ๊ธฐ ์ํด ๋ฐ๋ผ์ผํ๋ ๊ณ์ฝ์ด๋ค.
class DefaultCash implements Cash {
private int dollars;
DefaultCash(int dlr) {
this.dollars = dlr;
}
// ๊ณ์ฝ์ ์์กด
@Override
Cash multiply(float factor) {
return new DefaultCash(this.dollars * factor);
}
}
- ๊ธ์ก์ด ํ์ํ๋ค๋ฉด ์ค์ ๊ตฌํ ๋์ ๊ณ์ฝ์ ์์กดํ๋ฉด ๋๋ค.
class Employee {
private Cash salary;
}
Employee
ํด๋์ค๋Cash
์ธํฐํ์ด์ค์ ๊ตฌํ ๋ฐฉ๋ฒ์ ์๋ฌด๋ฐ ๊ด์ฌ์ด ์๋ค. ์ด๋ป๊ฒ ๋์ํ๋ ์ง๋ ๊ด์ฌ์๋ค. ๋๋ฌธ์ ๋์จํ๊ฒ ๋ถ๋ฆฌํ ์ ์๋ค.- ์ถ๊ฐ๋ก ํด๋์ค ์์ ๋ชจ๋ ํผ๋ธ๋ฆญ ๋ฉ์๋๊ฐ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ค. ์ฌ๋ฐ๋ฅด๊ฒ ์ค๊ณ๋ ํด๋์ค๋ผ๋ฉด ์ต์ํ ํ๋์ ์ธํฐํ์ด์ค๋ผ๋ ๊ตฌํํ์ง ์๋ ํผ๋ธ๋ฆญ ๋ฉ์๋๋ฅผ ํฌํจํด์๋ ์๋๋ค.
- ๋ค์๊ณผ ๊ฐ์ด ์ค๊ณํด์๋ ์๋๋ค.
class Cash {
public int cents() {
// ์ด๋ค ์์
์ ์ํ
}
}
cents
๋ฉ์๋๋ ์ด๋ค ๊ฒ๋ ์ค๋ฒ๋ผ์ด๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๋ค. ์ด ์ค๊ณ๋ ํด๋์ค์ ์ฌ์ฉ์๋ก ํ์ฌ๊ธ ์ด ํด๋์ค์ ๊ฐํ๊ฒ ๊ฒฐํฉ๋๋๋ก ์กฐ์ฅํ๋ค. ๋ค๋ฅธ ํด๋์ค์ ๊ฐ์ฒด๊ฐ ์ง์ ์ ์ผ๋กCash.cents()
๋ฅผ ์ฌ์ฉํ ์ ๋ฐ์ ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ๊ตฌํ์ ๋์ฒดํ ์ ์๋ค.- ํด๋์ค๊ฐ ์กด์ฌํ๋ ์ด์ ๋ ๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ํด๋์ค์ ์๋น์ค๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ด๊ณ , ์๋น์ค๋ ๊ณ์ฝ์ด์ ์ธํฐํ์ด์ค์ด๊ธฐ ๋๋ฌธ์ ํด๋์ค๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ ์ด๋๊ฐ์ ๋ฌธ์ํ๋์ด์ผ ํ๋ค.
- ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ์ฌ๋ฌ ํด๋์ค๋ค์ด ์กด์ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๊ฒฝ์์๋ ์๋ก ๋ค๋ฅธ ๊ฒฝ์์๋ฅผ ์ฝ๊ฒ ๋์ฒดํ ์ ์์ด์ผ ํ๋ค. ์ด๊ฒ์ด ๋์จํ ๊ฒฐํฉ๋์ ์๋ฏธ์ด๋ค.
๐ฆ ๋ฉ์๋ ์ด๋ฆ์ ์ ์คํ๊ฒ ์ ํํ์ธ์โ
- ๊ฐ๋จํ ๋ฒ์น์ ๋น๋(builder)์ ์ด๋ฆ์ ๋ช ์ฌ๋ก, ์กฐ์ ์(manipulator)์ ์ด๋ฆ์ ๋์ฌ๋ก ์ง๋ ๊ฒ์ด๋ค.
- ๋น๋๋ ๋ญ๊ฐ๋ฅผ ๋ง๋ค๊ณ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๋น๋๋ ํญ์ ๋ญ๊ฐ๋ฅผ ๋ฐํํด์ผ ํ๋ค. ๋น๋์ ๋ฐํํ์
์ ์ ๋
void
๊ฐ ๋ ์ ์์ผ๋ฉฐ, ์ด๋ฆ์ ํญ์ ๋ช ์ฌ์ฌ์ผ ํ๋ค.
int pow(int base, int power);
float speed();
Employee employee(int id);
String parsedCell(int x, int y); // ํ์ฉ์ฌ์ธ parsed๊ฐ ๋ช
์ฌ์ธ cell์ ๊พธ๋ฏธ๊ณ ์์ ๋ฟ ๋ช
์ฌ๋ค.
- ๊ฐ์ฒด๋ก ์ถ์ํํ ์ค์ธ๊ณ ์ํฐํฐ๋ฅผ ์์ ํ๋ ๋ฉ์๋๋ฅผ ์กฐ์ ์๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์กฐ์ ์์ ๋ฐํ ํ์
์ ํญ์
void
์ด๊ณ , ์ด๋ฆ์ ํญ์ ๋์ฌ์ด๋ค.
void save(String content);
void put(String key, Float value);
void remove(Employee emp);
void quicklyPrint(int id); // ๋ถ์ฌ์ ๊พธ๋ฐ์ ๋ฐ๋ ๋์ฌ
- ๋ค์์ ์์น์ ์๋ฐํ๋ ์๋ชป๋ ์
// ์ ์ฅ๋ ์ ์ฒด ๋ฐ์ดํธ๋ฅผ ๋ฐํ
int save(String content); // void๋ฅผ ๋ฐํํ๋๋ก ๋ฐ๊พธ๊ฑฐ๋ bytesSaved()์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ
// map์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ TRUE๋ฅผ ๋ฐํ
boolean put(String key, Float value); // void๋ฅผ ๋ฐํํ๋๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ putOperation์ผ๋ก ๋ณ๊ฒฝ
// speed๋ฅผ ์ ์ฅํ ํ ์ด์ ๊ฐ์ ๋ฐํ
float speed(float val);
๐ ๋น๋๋ ๋ช ์ฌ๋คโ
- ์ด๋ค ๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋์ ์ด๋ฆ์ ๋์ฌ๋ก ์ง๋ ๊ฒ์ ์๋ชป์ด๋ค.
class Bakery {
Food cookBrownie();
Drink brewCupOfCoffee(String flavor);
}
- ์์ ๋ ๋ฉ์๋๋ ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ์๋๋ผ ํ๋ก์์ ์ด๋ค.
- ๋ ๋ฉ์๋์ ์ด๋ฆ์
Bakery
๋ฅผ ์๋ฆฝ์ ์ด๊ณ ์์จ์ ์ธ ๊ฐ์ฒด๋ก ์กด์คํด์๋ ์๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์๊ฒ ํ ์ผ์ ์ผ์ผ์ด ๋ช ๋ นํด์ผ ํ๋ค๊ณ ์์ญ์ธ๋ค. ์ด๊ฒ์ ๊ฐ์ฒด์งํฅ์ ์ธ ์ ๊ทผ๋ฐฉ๋ฒ์ด ์๋๋ผ ์ ์ฐจ์ ์ธ ์ ๊ทผ๋ฐฉ๋ฒ์ด๋ค. - ๋ฉ์๋์ ์ด๋ฆ์ ๋์ฌ๋ก ์ง์ ๋์๋ ๊ฐ์ฒด์๊ฒ ๋ฌด์์ ํ ์ง๋ฅผ ์๋ ค์ฃผ์ด์ผ ํ๋ค. ๋ฌด์์ ๋ง๋ค์ด์ผ ํ๋ ์ง๋ง ์์ฒญํ๊ณ , ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ์ฒด ์ค์ค๋ก ๊ฒฐ์ ํ๋๋ก ํด์ผ ํ๋ค.
// ์ ์ง์ด์ง ์
InputStream stream(URL url);
String content(File file);
int sum(int x, int y);
๐ ์กฐ์ ์๋ ๋์ฌ๋คโ
- ์ค์ธ๊ณ์ ์ํฐํฐ๋ฅผ ์กฐ์ํด์ผ ํ๋ ๊ฒฝ์ฐ์๋, ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ฒด๊ฐ ๊ทธ ์์ ์ ์ํํ๋๋ก ์์ฒญํ๋ค.
class Pixel {
void paint(Color color);
}
Pixel center = new Pixel(50, 50);
center.paint(new Color("red"));
paint
๋ฉ์๋๋ ๊ฐ์ ๋ฐํํ์ง ์๋๋ค. ์์ฒญํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
๐ ๋น๋์ ์กฐ์ ์ ํผํฉํ๊ธฐโ
- ๋ค์ ์๋ ํ์ผ ๋ด์ฉ์ ์ ์ฅํ๊ณ ์ ์ฅ๋ ๋ฐ์ดํธ ์๋ฅผ ๋ฐํํ๋ ๋ฉ์๋์ด๋ค.
class Document {
int write(InputStream content);
}
- ์ด ๋ฉ์๋๋ ์์์ ์ค๋ช
ํ ์์น์ ์๋ฐํ๊ณ ์๋ค. ์์น์์ผ๋ก๋ ๋ฉ์๋
write
์ ๋ฐํ ํ์ ์void
๋ก ๋ฐ๊ฟ์ผ ํ์ง๋ง, ์ค์ ๋ก ์ ์ฅ๋ ๋ฐ์ดํธ ์๋ฅผ ์ ํ์๊ฐ ์๋ค. write()
๋ฉ์๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๋์์, ์ฐ์ฌ์ง ๋ฐ์ดํธ ์๋ฅผ ์นด์ดํธํ๋ค. ๋ค์ ๋งํด์ ํ๋์ ๋ฉ์๋ ์์์ ๋๋ฌด ๋ณต์กํ ์ผ์ ์ฒ๋ฆฌํ๊ณ ์๋ค. ๋ฉ์๋์ ๋ชฉ์ ์ด ๋ช ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๊น๋ํ๊ฒ ๋ช ์ฌ๋ ๋์ฌ ๋ ์ค ํ๋๋ก ์ด๋ฆ์ ์ง์ ์๊ฐ ์๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฆฌํฉํ ๋ง์ ํด์ผํ๋ค.
class Document {
OutputPipe output(); // ๋น๋
}
class OutputPipe {
void write(InputStream content); // ์กฐ์ ์
int bytes(); // ๋น๋
long time(); // ๋น๋
}
๐ Boolean ๊ฐ์ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ ๊ฒฝ์ฐโ
Boolean
๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋์ ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์๊น?Boolean
๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋๋ ๊ท์น์ ์์ด์ ์์ธ์ ์ธ ๊ฒฝ์ฐ์ด๋ค. ๊ฐ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์๋๋ค์ ๋น๋์ ์ํ์ง๋ง, ๊ฐ๋ ์ฑ ์ธก๋ฉด์์ ์ด๋ฆ์ ํ์ฉ์ฌ๋ก ์ง์ด์ผ ํ๋ค.
boolean empty(); // is empty
boolean readable(); // is readable
boolean negative(); // is negative
- ์ ๋์ฌ
is
๋ ์ค๋ณต์ด๊ธฐ ๋๋ฌธ์ ๋ฉ์๋์ ์ด๋ฆ์ ํฌํจ์ํค์ง ์์ง๋ง, ๋ฉ์๋๋ฅผ ์ฝ์ ๋๋ ์ผ์์ ์ผ๋ก ์์ ๋ถ์ฌ ์์ฐ์ค๋ฒ๊ฒ ๋ค๋ฆฌ๋๋ก ํด์ผ ํ๋ค. - ์๋์ ๋ฉ์๋์์๋ ๋ฌธ์ ๊ฐ ๋ ์ ์๋๋ฐ
is
๋ฅผ ๋ถ์ด๋ฉด ์ฌ๋ฐ๋ฅด์ง ์์ ๋ฌธ์ฅ์ด ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ ์ ํฉํ ์ด๋ฆ์equalTo
์present
์ด๋ค.
boolean equals(Object obj);
boolean exists();
Boolean
์ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ํน๋ณํ๊ฒ ์ทจ๊ธํด์ผ ํ๋ ์ด์ ๋ Java๋ฅผ ํฌํจํ ๋๋ถ๋ถ์ ์ธ์ด๋ค์ด ๋ ผ๋ฆฌ ๊ตฌ์ฑ์๋ฅผ ํน๋ณํ ๋ฐฉ์์ผ๋ก ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ด๋ค.- ๋ค์์ ํด๋์ค์ ๋ฌธ์์ด์ด ๋น์ด์๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํ๋
emptiness()
๋ฉ์๋๋ฅผ ์ถ๊ฐํ ํ ์ฌ์ฉํ ๊ฒ์ด๋ค.
if (name.emptiness() == true) {
// ๋ญ๊ฐ ํ๋ค.
}
- ์ด ๋ฌธ์ฅ์
if emptiness of the name is true
๋ก ์์ฐ์ค๋ฝ๊ฒ ์ฝํ์ง๋ง Java์์๋ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ค.
if (name.empty()) {
// ๋ญ๊ฐ ํ๋ค.
}
- ์์ฝํ์ง๋ฉด, ๋จผ์ ๋ฉ์๋์ ๋ชฉ์ ์ด ๋ฌด์์ธ์ง๋ฅผ ํ์ธํ๊ณ , ๋ฉ์๋๋ ๋น๋๋ ์กฐ์ ์, ๋ ์ค ํ๋์ฌ์ผ ํ๋ค. ์ ๋๋ก ๋น๋์ธ ๋์์ ์กฐ์ ์์ด๋ฉด ์๋๋ค. ๋น๋๋ ๋ช ์ฌ๋ก, ์กฐ์ ์๋ ๋์ฌ๋ก ์ง์ด์ผ ํ๋ค.