상속 의미
자바에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 것을 의미한다.
상속 예제 및 설명
class Car {
int capacity;
String fuel;
}
class Bus extends Car {
int Bus_number;
Bus(int Bus_number, int capacity, String fuel) {
this.Bus_number = Bus_number;
this.capacity = capacity;
this.fuel = fuel;
}
}
위에 코드를 보면 Bus 클래스가 extends를 이용해서 Car 클래스를 상속받는걸 볼 수 있다. 상속받으면 상위 클래스에 있는 메소드와 필드를 하위 클래스에서 이용할 수 있다.
포함 관계 의미
자바에서 포함 관계는 상속과 비슷하게 클래스를 재사용 할 수 있는 방법을 의미한다.
포함 관계 예제 및 설명
class Engine {
int capacity;
String fuel;
Engine(int capacity, String fuel) {
this.capacity = capacity;
this.fuel = fuel;
}
}
class Car {
Engine e;
Car() {
e = new Engine(998, "Bi-fuel");
}
}
위에 코드를 보면 Car 클래스의 멤버로 Engine 클래스 타입의 참조 변수를 선언하는 것을 볼 수 있다. 즉, 클래스의 속성값에 다른 클래스를 선언하여 사용하는 것을 포함 관계라고 한다.
상속과 포함 구별법
둘 사이의 관계가 상속인지 포함인지 쉽게 구별하는 방법은 두 문장을 통해서 알수 있다.
· 상속 관계 : is (~은 ~이다)로 표현
· 포함 관계 : has (~은 ~을 가지고 있다)로 표현
위에 방식으로 표현했을 때 적절한 경우가 옳은 관계이다.