본문 바로가기
아카이브/자바의 정석

7장 상속 20200921

by nineteen 2020. 9. 21.
반응형

포함관계

 

한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것

 

하나의 거대한 클래스를 작성하는 것보다 단위별로 여러 개 클래스를 작성해 포함관계로 재사용하면 보다 간결하고 손쉽게 클래스를 작성할 수 있다

 

 

 

 

 

클래스간의 관계 결정하기

 

클래스를 작성하는데 있어서 상속관계를 맺을지, 포함관계를 맺을지 혼란스러울 수 있는데,

그럴 때는 '~은 ~이다(is - a)'와 '~은 ~을 가지고 있다(has - a)'문장에 대입해 보면 클래스간의 관계가 명확해진다

 

 

예시)

1
2
3
4
5
class Circle {
    int x;
    int y;
    int r;
}
cs

 

1
2
3
4
class Point {
    int x;
    int y;
}
cs

Circle클래스와 Point클래스를 예로, (is - a), (has - a)관계를 알아보자

 

 

(is - a) 상속관계

1
2
3
class Circle extends Point {
    int r;
}
cs

 

(has - a) 포함관계

1
2
3
4
class Circle {
    Point p = new Point();
    int r;
}
cs

 

'아카이브 > 자바의 정석' 카테고리의 다른 글

7장 20200925  (0) 2020.09.25
7장 20200924  (0) 2020.09.24
6장 객체지향프로그래밍(2) 20200919  (0) 2020.09.19
6장 객체지향프로그래밍 20200918  (0) 2020.09.18
5장 배열 20200917  (0) 2020.09.17