์์๊ด๊ณ์ ์๋ ํด๋์ค ์ค์์ ์์ ํด๋์ค์์๋ ํน๋ณํ ๊ตฌํ ์์ด ์ฌ์ฉํ๊ณ ์ ํ๋ ๋ฉ์๋๋ง ๊ธฐ์ ํ๊ณ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ํ์ํด๋์ค์ ํ๋๋ก ํ ์ ์๋ค.
- ์ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด "์ถ์ ํด๋์ค"๋ก ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ ๊ธฐ์ ์์ด ๋ชจ์๋ง ๊ฐ์ถ ํด๋์ค์ด๋ค.
- abstract ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ๊ณ
- ์ถ์ํด๋์ค ์์๋ ์ถ์๋ฉ์๋๋ฅผ ๊ฐ์ง๋ค.
ํ์
์ ๊ทผ์ ์ด์ abstract class Person{
์ ๊ทผ์ ์ด์ abstract ๋ฆฌํดํ ๋ฉ์๋๋ช
();
.....
}
์ถ์ ํด๋์ค์ ์ถ์ ๋ฉ์๋๋ ๋ฐ๋์ ์ค๋ฒ๋ผ์ด๋ฉ ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ์ ํด๋์ค๋ค์ด ๋ฐ๋์ ๊ตฌํํ๋๋ก ๊ฐ์ ํ ์ ์๊ณ ,
๋ง์ฝ ์ถ์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ ํ์ง ์์ผ๋ฉด ์์๋ฐ๋ ํด๋์ค๋ ์๋์ผ๋ก ์ถ์ ํด๋์ค๊ฐ ๋๋ค.
์ถ์ ํด๋์ค๋ ์ผ๋ฐ ๋ฉ์๋์ ์ถ์ ๋ฉ์๋๋ฅผ ๋ชจ๋ ํฌํจ๊ฐ๋ฅ
- ๋ฉ์๋์ ์ด๋ฆ ์์ abstract๊ฐ ์๋ค.
- ๊ตฌํ ๋ด์ฉ์ด ์๋ ๋ฉ์๋๋ก ์ด๋ฅผ ์์๋ฐ๋ ํ์ ํด๋์ค๋ค์ด ๋ฐ๋์ ์ฌ์ ์ํด์ ์ฌ์ฉํด์ผ ํ๋๋ฐ ๋ฉ์๋๋ค์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
- ๋ฐ๋ผ์ ๋ฐ๋์ ์ถ์ ๋ฉ์๋๋ ์ค๋ฒ๋ผ์ด๋ฉ ๋์ด์ผ ํ๋ค.
ํ์
์ ๊ทผ์ ์ด์ abstract ๋ฐํํ ๋ฉ์๋๋ช
();
ex)
public abstract class Circle{
public abstract int Getarea();
}
...
๊ตฌํ
public class CircleTest extends Circle{
public int Getarea(){
return 10;
}
public static void main(String args[]){
CircleTest circle = new CircleTest();
System.out.println(circle.Getarea());
}
}