Interface (์ธํฐํ์ด์ค) ?
- ํ๋ ์ด์์ ์ธํฐํ์ด์ค ๋ฉ์๋๋ฅผ ํฌํจํ๊ณ interface ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ธํ๋ฉฐ ์ผ๋ฐ ๋ฉ์๋๋ฅผ ํฌํจํ ์ ์์
- ์ธํฐํ์ด์ค ๋ฉ์๋๋ ๋ฉ์๋์ ์ ์ธ๋ง ์๊ณ abstract ํค์๋๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ธํ์ง ์์๋ ๋๋ฉฐ,
์ค์ ๊ตฌํ์ ์์ ๋ฐ์ ์์ ํด๋์ค์์ ์ด๋ฃจ์ด์ง
interface Car {
public void drive();
}
public class ElectricCar implements Car {
public void drive() {
System.out.println("์ ๊ธฐ์ฐจ ์ฃผํ");
}
}
์ธํฐํ์ด์ค์ ํ์์ฑ
- ์ธํฐํ์ด์ค์์ ์ธํฐํ์ด์ค ๋ฉ์๋๋ฅผ ์ ์ธํ๊ณ ์์ ํด๋์ค์์ ์ฉ๋์ ๋ง๊ฒ ์ฌ์ ์ํจ์ผ๋ก์จ ๋คํ์ฑ์ ๊ธฐ๋ฐ์ด ๋๋ฉฐ ์ฝ๋ ์ฌ์ฌ์ฉ์ ๋์์ ์ค
- ํด๋์ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ ์ ์ดํดํ ์ ์๊ณ ์์ ํ ์ถ์ํ๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ, ํ๋ก๊ทธ๋จ์ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๊ณ ๊ตฌ์กฐ๋ฅผ ๋์ฑ ์กฐ์งํํ ์ ์์
- ์ฝ๋์ ๊ฐ๋
์ฑ์ ํฅ์์ํค๊ณ ํ๋ก๊ทธ๋จ์ ์ ์ง๋ณด์์ ๋์์ ์ค
์ธํฐํ์ด์ค์ ์ฃผ์์ฌํญ
- ์ธํฐํ์ด์ค๋ ์ธํฐํ์ด์ค ๋ฉ์๋๋ง ํฌํจํด์ผํ๋ฉฐ ์ผ๋ฐ ๋ฉ์๋๋ ํฌํจํ ์ ์์
- ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค์์ ์ธํฐํ์ด์ค ๋ฉ์๋๋ฅผ ์ฌ์ ์ํด์ผํจ
- ์ธํฐํ์ด์ค์ ์ ์ธํ๋ ๋ณ์๋ ์ฃผ๋ก ์์๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฏ๋ก public, static, final์ด ๋ถ์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฏ๋ก ์ด๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ธํ ํ์๊ฐ ์์