본문 바로가기
Dev/Java

[Java] 자바의 정석 기초편 ch7-3,4 클래스 간의 관계, 상속과 포함

by 코딩삐약 2022. 4. 22.

ch7-3 포함 관계

클래스의 관계 1. 상속 2. 포함

✔ 포함(composite)이란?

- 클래스의 멤버로 참조변수를 선언하는 것

- 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다.

class Circle {
	int x; // 원점의 x좌표
    int y; // 원점의 y좌표
    int r; // 반지름(radius)
 }
 
 class Point {
 	int x; // 원점의 x좌표
    int y; // 원점의 y좌표
 }
 
 class Circle { // Circle이 Point를 포함 관계
 	Point c = new Point(); // 객체 생성 
    int r ; // 반지름 (radius)
 }
class Car { // 포함 관계
	Engine e = new Engine(); // 엔진
    Door[] d = new Door[4] //문, 문의 개수를 넷으로 가정하고 배열로 처리했다.
    
}

 

ch7-4 클래스 간의 관계 결정하기

상속관계 - '~은 ~이다. (is~a)' (제약이 많아서 필요할때만)

포함관계 - '~은 ~을 가지고 있다. (has ~a)' (거의 포함 사용)

 class Point {
 	int x; // 원점의 x좌표
    int y; // 원점의 y좌표
 }
 
 class Circle { // Circle이 Point을 가지고 있다. = 포함관계
 	Point c = new Point(); // 참조변수의 초기화 (그래야 저장공간이 생김!)
    int r ; // 반지름 (radius)
 }
 
 class Circle extends Point { // 원은 점이다. = 상속관계 
    int r; // 반지름(radius)
 }