상속을 받는다는 것은 조상 클래스를 확장(extend)한다는 의미로 해석할 수 있다.
자식 클래스가 조상 클래스의 코드를 재사용하여 유지보수에 용이하다.
class Child extens Parent {
...
}
상속이외에 클래스를 재사용하는 방법인 '포함관계'
하나의 거대한 클래스를 구현할 때 단위 클래스를 작성하고 이를 포함관계로 재사용하면 훨씬 쉽고 간결하게 코드를 관리할 수 있다.
class Point { // 원점 (단위 클래스)
int x;
int y;
}
class Circle { // 원 (구성요소: 원점, 반지름)
Point p = new Point(); // x, y 사용 가능
int r;
}
원(Circle)
은
점(Point)이다.
-> 상속관계로 설정하기
원(Circle)은
점(Point)을 가지고 있다.
-> 포함관계로 설정하기
class DrawShape {
public static void main(String[] args) {
Circle c = new Circle(new Point(150, 150), 50);
}
}
class Shape {
string color = "black";
|
class Point {
int x;
int y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
Point() {
this(0, 0);
}
}
class Circle extends Shape { // Shape과 상속 관계
Point center; // Point와 포함관계
int r;
Circle() {
this(new Point(0, 0), 100);
}
Circle(Point center, int r) {
this.center = center;
this.r = r;
}
}