class MyPoint {
int x;
int y;
}
class Circle extends MyPoint {
int r;
}
public class InheritanceTest {
public static void main(String[] args) {
Circle c = new Circle();
c.x = 1;
c.y = 2;
c.r = 3;
System.out.println("c.x = " + c.x);
System.out.println("c.y = " + c.y);
System.out.println("c.r = " + c.r);
}
}
👉 비중이 높은 클래스 하나만 상속 관계로, 나머지는 포함관계로 한다.
this
와 동일)class MyPoint {
int x;
int y;
}
class Circle {
MyPoint p ; = new MyPoint(); //객체 초기화를 해야 저장공간(x,y) 생김
int r;
}
public class InheritanceTest {
public static void main(String[] args) {
Circle c = new Circle();
c.p.x = 1;
c.p.y = 2;
c.r = 3;
System.out.println("c.x = " + c.p.x);
System.out.println("c.y = " + c.p.y);
System.out.println("c.r = " + c.r);
}
}
💡 같은 코드를 포함과 상속으로 코딩했을 때 저장 공간의 개수는 같다.
💡 대부분 포함관계를 사용한다. 상속은 여러가지 제약이 많음