-
반응형
상속(inheritance)
- 기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용)
- 두 클래스를 부모와 자식으로 관계를 맺어주는 것
ex)
class 자식클래스 extends 부모 클래스 {
//... }
- 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외)
- 자손의 멤버 개수는 조상보다 적을 수 없다. (같거나 많다)
- 자손의 변경은 조상에 영향을 미치지 않는다.
>상속을 하면 Child Class는 점점 커져 확장(extends)된다. 따라서 키워드를 extends를 사용
포함 관계
- 클래스의 멤버로 참조변수를 선언하는 것
클래스 간의 관계 결정하기(상속 VS 포함)
상속관계 ‘~은 ~이다. (is-a)'
포함관계 ‘~은 ~을 가지고 있다. (has-a)'
단일 상속
- Java는 단일 상속만을 허용한다 (C++은 다중상속 허용) feat 인터페이스
- 하나의 부모만 상속
class TvDVD extends Tv, DVD {
// 에러 }
다중 상속이 필요한 경우
- 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.
Object클래스 - 모든 클래스의 조상
- 부모가 없는 클래스는 자동적으로 Object클래스를 상속받게 된다.(기본값)
- 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다
toString( ), equals(Object obj), hashCode( )....
- System.out.println(c.toString()); = System.out.println(c); 같은 의미
오버라이딩
- 상속받은 조상의 메서드를 자신에 맞게 변경하는 것
toString()의 활용
반응형'Java' 카테고리의 다른 글
07 (3) 패키지 (0) 2023.05.07 07 (2)참조변수 super, 생성자 super() (0) 2023.05.07 06 (9) this( )와 this (0) 2023.05.06 06 (8) 오버로딩, 생성자 (0) 2023.05.06 06 (7) static 메서드와 인스턴스 메서드 (0) 2023.05.03