โ
1. ์ต๋ช
ํด๋์ค๋?
- "์ต๋ช
" + "ํด๋์ค" ์ด๋ฆ์ด ์๋ ํด๋์ค๋ฅผ ์๋ฏธํ๋ค.
- ์ผํ์ฑ์ผ๋ก 1๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํ ํด๋์ค์ด๋ฉฐ, ์ต๋ช
ํด๋์ค ์ ์์ ๋์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.
โ
1. ์ต๋ช
ํด๋์ค ์ฌ์ฉ ๋ฐฉ๋ฒ
// ๋ถ๋ชจ ํด๋์ค
class Animal {
public void sound() {
System.out.println("๋๋ฌผ์๋ฆฌ");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Animal() {
@Override
public void sound() {
Systme.out.println("๊ฐ์์ง ์๋ฆฌ");
}
};
dog.bark();
}
}
- ์ต๋ช
ํด๋์ค๋ก ๋ง๋ค๊ฒ ๋๋ฉด, ์ต๋ช
์ ์์ ํด๋์ค๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ค. ์ฆ, ์ค๋ฒ๋ผ์ด๋ฉ์ ํตํด ์ฌ์ ์๋ฅผ ํ๊ธฐ ์ํด ์ฌ์ฉ์ํ๋ค.
- ๋ง์ฝ ์ฌ์ ์๋ฅผ ํ์ง ์๋ ๊ฒฝ์ฐ์๋ ๋ฉ์๋ ํธ์ถ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ ์์๊ณผ ๊ฐ์ ๊ฐ๋
์ด๋ค.
- ๋จ, ์ต๋ช
ํด๋์ค์ ์์ํด๋์ค ์ฆ, ํ์ฌ ์์ฑํ๋ ํด๋์ค์ ์๋ ๋ฉ์๋๋ ํ๋๋ฅผ ์๋ก ๋ง๋ค ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ ๊ฐ๋ฅํ์ง๋ง, ์ต๋ช
ํด๋์ค ๋ด๋ถ์์๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ธ๋ถ์์๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- ์ฆ, ์ธ๋ถ์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ฑด ์๋ ํด๋์ค์ ์ ์๋ ํ๋๋ ๋ฉ์๋์ด๋ค.
โ
2. ์ต๋ช
ํด๋์ค ์ฌ์ฉ ์ด์
- ์์ ๋ฟ๋ง ์๋๋ผ ์ธํฐํ์ด์ค, ์ถ์๋ ๊ฐ๋ฅํด์ ํด๋์ค ์ฌ์ฌ์ฉ ์์ด ๋ฑ ํ ๋ฒ๋ง ๊ตฌํํด์ ์ธ ๊ฑฐ๋ผ๋ฉด, ๋ณ๋์ ํด๋์ค ์ ์ผ์ด ๋ง๊ณ ์ต๋ช
ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข์.
- ์ง์ญ ๋ณ์์ฒ๋ผ ์ต๋ช
ํด๋์ค๋ก ์ ์ํ๊ณ ์คํ์ด ๋๋๋ฉด ์ญ์ ๋๋๋ก ํ ์ ์์ด ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ์ธก๋ฉด์์ ์ด์ ์ด ์์.
- ์์ํ ํด๋์ค์ ์ผ๋ถ ๋ฉ์๋๋ง ๊ฐ๋จํ ์ฌ์ ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๊ตณ์ด ์ ํด๋์ค๋ฅผ ๋ง๋ค์ง ์๊ณ ๊ทธ ์๋ฆฌ์์ ์ฌ์ ์๋ฅผํจ.
- ์ธํฐํ์ด์ค ์ฆ์ ๊ตฌํ์ด ๊ฐ๋ฅํด์ ์ค๋ ๋ ๋ฑ์์ ๋ง์ด ์ฌ์ฉ์ด ๋จ.