๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€/Java

[15์ผ์ฐจ] ์ธํ„ฐํŽ˜์ด์Šค(interface)

Ex63 ~ Ex65

 

์ธํ„ฐํŽ˜์ด์Šค

ํด๋ž˜์Šค๋“ค์ด ํ•„์ˆ˜๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์ถ”์ƒ ์ž๋ฃŒํ˜•. ์ฆ‰ ๊ฐ์ฒด์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๊ฐ€์ด๋“œ๋ผ์ธํ•˜๋Š” ๊ฒƒ.


- ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ(public static final๋กœ๋งŒ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ์„ ์–ธ ๊ฐ€๋Šฅ)
- ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฉค๋ฒ„๋กœ ๊ฐ€์ง„๋‹ค.

- ๊ตฌํ˜„ ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
 > ๊ตฌํ˜„๋ฉค๋ฒ„(๋ณ€์ˆ˜, ๊ตฌํ˜„๋ถ€๋ฅผ ๊ฐ€์ง€๋Š” ๋ฉ”์†Œ๋“œ)

- ์ž์‹ ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ์ธํ„ฐํด๋ž˜์Šค์˜ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ชจ๋‘ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์•ผํ•œ๋‹ค.

- ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•œ๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค์˜ ์ž‘์„ฑ

interface ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฆ„ {
	public static final ํƒ€์ž… ์ƒ์ˆ˜์ด๋ฆ„ = ๊ฐ’;
    public abstract ๋ฉ”์„œ๋“œ์ด๋ฆ„ (๋งค๊ฐœ๋ณ€์ˆ˜๋ชฉ๋ก);
}

**๋ชจ๋“  ๋ฉค๋ฒ„๋ณ€์ˆ˜๋Š” public static final ์ด์–ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.

**๋ชจ๋“  ๋ฉ”์„œ๋“œ๋Š” public abstract ์ด์–ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.(๋‹จ, static๋ฉ”์„œ๋“œ์™€ ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๋Š” ์˜ˆ์™ธ)

 

 

๋‹ค์ค‘์ƒ์†

class Lee implements Dad, Boss {
	public void earningMoney () {
    };
    public void andsoon () {
    ;
}