[JAVA] ์๋ฐ์ ์ ์ ch7-1, 2 ์์
๋จ๊ถ์ฑ ์ ์์ ๊ฐ์๋ฅผ ๋ณด๊ณ ch7์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค!
๋ฉ๋ชจ ๋๋์ผ๋ก ์ ๋ฆฌํด๋ณด์๋ค
https://youtu.be/Pgutf0G3nE4?si=MEmhlr86eM0YQq7-
์์์ ํน์ง
๐ ๊ธฐ์กด์ ํด๋์ค๋ก ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ(์ฝ๋์ ์ฌ์ฌ์ฉ)
๐ ๋ ํด๋์ค๋ฅผ ๋ถ๋ชจ์ ์์์ผ๋ก ๊ด๊ณ๋ฅผ ๋งบ์ด์ฃผ๋ ๊ฒ
class ์์ํด๋์ค extends ๋ถ๋ชจํด๋์ค {
// ...
}
๐ ์์์ ์กฐ์์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์์๋ฐ๋๋ค(์์ฑ์, ์ด๊ธฐํ๋ธ๋ญ ์ ์ธ) (์กฐ์ : ๋ถ๋ชจ๋ฟ๋ง ์๋๋ผ ๋ถ๋ชจ์ ๋ถ๋ชจ~~์ ๋ถ๋ชจ๋ ํฌํจ์ด ๋๊ธฐ ๋๋ฌธ์)
๐ ์์์ ๋ฉค๋ฒ ๊ฐ์๋ ์กฐ์๋ณด๋ค ์ ์ ์ ์๋ค(๊ฐ๊ฑฐ๋ ๋ง๋ค)
๐ ์์์ ๋ณ๊ฒฝ์ ์กฐ์์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค
class Parent {
int age;
}
class Child extends Parent {
void play() {
System.out.println("๋์~~~");
}
}
Parent : age ๋ง ๊ฐ์ง
Child : age, play()๋ฅผ ๊ฐ์ง
Point
class Point {
int x;
int y;
}
์ ์ ๋ํ class๋ฅผ ์์ฑํ์๋ค
// Point์ ๊ด๋ จ์ด ์์
class point3D {
int x;
int y;
int z;
}
point3D๋ฅผ ๋ง๋ค์๋๋ฐ ์ด ํด๋์ค๋ Point์๋ ๊ด๋ จ์ด ์๋ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ฒด์ด๋ค.
// Point์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ Point๋ฅผ ์์ ํ๋ฉด ์ํฅ์ด ๋ฏธ์นจ
class Point3D extends Point {
int z;
}
์ด Point3D๋ Point์๋ ๋ถ๋ชจ ์์๊ฐ์ ๊ด๊ณ๊ฐ ๋๊ธฐ ๋๋ฌธ์ Point๋ฅผ ์์ ํ๊ฒ ๋๋ฉด Point3D์๋ ์ํฅ์ด ๋ฏธ์น๊ฒ ๋๋ค.
์์ ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋ง๋ Point3D์ ๊ฒฐ๊ณผ๋ฌผ์ ๋์ผํ๋ค.
๊ทธ๋ฌ๋ ์์์ ์ฌ์ฉํ๋ฉด, Point3D๊ฐ Point์ ๊ธฐ๋ฅ์ ํ์ฅํ์ฌ 3์ฐจ์ ์ขํ๋ฅผ ํํํ๋ค๋ ์๋ฏธ๊ฐ ๋ ๋ถ๋ช ํด์ง๋ค