ch7-1 상속(Inheritance)
- 기존의 클래스로 새로운 클래스를 작성하는 것. (코드의 재사용)
- 두 클래스를 부모와 자식으로 관계를 맺어주는 것.
class Parent{ }
class Child extends Parent { // 자식이 부모에게 상속받는 종속관계
// ...
}
- 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화 블럭 제외)
- 키워드 extends
- 자손의 멤버 개수는 조상보다 적을 수 없다. (같거나 많다.)
class Parent { // 멤버 1개
int age;
}
class Child extends Parent { } // 자신의 멤버 0개 & 상속받은 멤버 1개 = 멤버 1개
- 자손의 변경은 조상에 영향을 미치지 않는다.
class Parent {
int age; // 멤버 1개
}
class Child extends Parent {
void play() {
System.out.println("놀자");
} // 새로운 멤버 추가 = 자신 멤버 1개 + 상속받은 멤버 1개 = 2개
}
class Point { // 2차원 좌표의 한 점 (x, y)
int x;
int y;
}
// 3차원 좌표의 한 점 (x, y, z) 나타내기
class Point3D { // Point 클래스와 전혀 관계 x = Point 클래스 변경에 영향받지 x
int x;
int y;
int z;
}
class Point3D extends Point { // Point 클래스를 상속 받아서 Point 클래스 변경에 영향 o
int z;
}
'Dev > Java' 카테고리의 다른 글
[Java] 자바의 정석 기초편 ch7-5,6 단일 상속, Object 클래스 (0) | 2022.04.25 |
---|---|
[Java] 자바의 정석 기초편 ch7-3,4 클래스 간의 관계, 상속과 포함 (0) | 2022.04.22 |
[Java] Map의 keyset() (0) | 2021.06.22 |
[Java] slf4j 추가하기 , 간단하게 로그 찍기 (0) | 2021.06.16 |
[Java] 자바 직렬화란? (0) | 2021.06.03 |