상속
- 기존의 클래스로 새로운 클래스를 작성하는 것을 상속이라고 합니다.
- 상속은 코드를 재사용 하는 것 입니다.
- 두 클래스를 부모와 자식으로 관계를 맺어주는 것 입니다.
상속으로 클래스를 작성하는 방법은
class 자식클래스 extends 부모클래스{
}
위의 코드처럼 작성 합니다.
- 자손은 조상의 모든 멤버를 상속 받는다.(생성자와 초기화블럭은 제외 됩니다.)
- 자손의 멤버 개수는 조상보다 적을 수 없고 같거나 많습니다.
- 자손의 변경은 조상에 영향을 미치지 안습니다.
- java는 단일상속만을 허용 합니다.
- 비중이 높은 클래스 하나만 상속 관계로 하고 나머지는 포함관계로 작성한다.
포함
- 클래스의 멤버로 참조변수를 선언하는 것
java 코드로 예를 들어보면
class Hi{
int a;
int b;
int c;
}
위의 코드처럼 Hi 클래스가 있다고 가정하자. a,b를 Hello 클래스로 따로 만들어 hi 클래스에 참조변수를 선언하면
class Hi{
Hello h = new Hello();
int c;
}
이렇게 작성할 수 있다.
그럼 이 클래스를 Hi hi = new Hi() 인스턴스 생성하여 초기화할때 첫번째 클래스 인스턴스는 hi.a,hi.b,hi.c로 작성할 수 있고 두번째 코드에서는 hi.h.a,hi.h.b,hi.c 로 작성할 수 있습니다. 이렇게 작성하는 이유는 Hi 클래스 안에 참조변수를 선언하여 Hi 객체 안에 Hello 객체의 참조변수 h가 포함 되었기 때문입니다.
- 작은 단위의 클래스를 만들고, 작은 단위의 클래스들을 조합해서 클래스를 만듭니다.
object 클래스
- 부모가 없는 클래스는 자동적으로 object클래스를 상속받게 된다.
- 모든 클래스는 object클래스에 정의된 11개의 메서드를 상속받는다. (toString, equals(object a), hashCode())