- 상속(inheritance)
- Is-a 관계 ( A is a B 가 성립되면 A는 B를 상속받아 정의했다는 의미가 됨)
- 슈퍼클래스의 멤버(변수 및 메서드)를 서브클래스에서 물려받아 선언없이 사용하는 것
- =>슈퍼클래스(=부모클래스 =상위클래스) : 멤버를 물려주는 클래스
- =>서브클래스(=자식클래스 =하위클래스) : 멤버를 물려받는 클래스
- => A is a B 일 때 A가 서브클래스, B가 슈퍼클래스가 된다.
- 코드 중복 제거가 가능하며, 유지보수성이 향상됨
- 상속을 적용하기 위해서는 서브클래스 정의 시 서브클래스명 뒤에 extends 키워드를 사용하여 슈퍼클래스의 이름을 지정해야함
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class 할아버지 { // 접근가능한멤버수 2
String = "이층집";
public void singWell() {
System.out.println("노래를 잘 한다");
}
}
class 아버지 extends 할아버지 {// 접근가능한멤버수 4
String car = "스포츠카";
public void drawWell() {
System.out.println("그림을 잘 그린다!");
}
}
class 아들 extends 아버지 {// 접근가능한멤버수 6
String money ="100억";
public void saveWell() {
System.out.println("재산을 많이 모았다");
}
public void showMyAbility() {
// 자신의 클래스 내에서 자신의 멤버는 물론, 상속받은 부모의 멤버에도 자유롭게 접근 가능
saveWell(); // 자신의 클래스에서 정의한 메서드
drawWell(); // 아버지 클래스에서 정의한 메서드
singWell(); // 할아버지 클래스에서 정의한 메서드
System.out.println(money);// 자신의 클래스에서 정의한 멤버변수
System.out.println(car); // 상속받은 멤버변수
System.out.println(house); // 상속받은 멤버변수
}
|
cs |
'Language > Java' 카테고리의 다른 글
메서드 오버라이딩 (Method Overriding) = 메서드 재정의 (0) | 2020.06.05 |
---|---|
상속에서의 생성자 (0) | 2020.06.04 |
Singleton Design Pattern(싱글톤 디자인 패턴) (0) | 2020.06.01 |
static 키워드 (0) | 2020.06.01 |
this (0) | 2020.05.28 |