โญ ์์
- ๊ธฐ์กด์ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํด ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ
- ์ ์์์ ์ฝ๋๋ก ์๋ก์ด ํด๋์ค ์์ฑ ๊ฐ๋ฅ
- ์ฝ๋๋ฅผ ๊ณตํต์ ์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
- ์ฝ๋์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ ์ฉ์ด
-> ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ ๋์ด๊ณ ์ค๋ณต์ ์ ๊ฑฐ
-> ํ๋ก๊ทธ๋จ์ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์
class ์์ํด๋์ค extends ๋ถ๋ชจํด๋์ค {
}
-> ์์ํด์ฃผ๋ ํด๋์ค : ์กฐ์ํด๋์ค / ์์ ๋ฐ๋ ํด๋์ค : ์์ํด๋์ค
- ์์ ํด๋์ค๋ ์กฐ์ํด๋์ค์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์์ ๋ฐ๋๋ค(์์ฑ์, ์ด๊ธฐํ ๋ธ๋ก ์ ์ธ)
- ์์ ํด๋์ค์ ๋ฉค๋ฒ ๊ฐ์๋ ์กฐ์ ํด๋์ค๋ณด๋ค ํญ์ ๊ฐ๊ฑฐ๋ ๋ง๋ค
๐ฅ ๋จ์ผ์์
- java๋ ๋จ์ผ์์๋ง ํ์ฉ
- ๋ ์ด์์ ํด๋์ค๋ก๋ถํฐ ์์ ๋ฐ๋๊ฒ์ด ๋ถ๊ฐ
๐ฅ object ํด๋์ค
- object ํด๋์ค๋ ๋ชจ๋ ํด๋์ค ์ต์์์ ์๋ ์กฐ์ํด๋์ค
- ๋ค๋ฅธ ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ง ์๋ ๋ชจ๋ ํด๋์ค๋ ์๋์ผ๋ก object ํด๋์ค๋ก๋ถํฐ ์์๋ฐ๊ฒํจ
=> ๋ชจ๋ ํด๋์ค์ ์ต๊ณ ์กฐ์!
๐ฅ ์ค๋ฒ๋ผ์ด๋ฉ
- overwrite : ~์์ ๋ฎ์ด์ฐ๋ค
- ์กฐ์ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ ๋ฉ์๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ
class Point{
int x;
int y;
String getLocation(){
return "x:" + x + ", y:" + y;
}
}
class Point3D extends Point{
int z;
String getLocation(){
return "x:" + x + ", y:" + y + ", z:" + z;
}
}
- ์ ๊ทผ์ ์ด์๋ ์กฐ์ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ์ข์ ๋ฒ์๋ก ๋ณ๊ฒฝ ๋ถ๊ฐ
- ์กฐ์ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ๋ง์ ์์ ์์ธ ์ ์ธ ๋ถ๊ฐ
- ์ ์ธ๋ถ๊ฐ ์กฐ์ํด๋์ค์ ๋ฉ์๋์ ์ผ์นํด์ผํจ