상위 class - super
- 부모
- parent
- 조상
하위 calss - sub
- 자식
- child
- 후손
**상속 (inheritance)
1. 상위 class의 field와 method를 하위 class에서 객체 생성 없이 사용.
단, private field와 method는 상속 X
생성자도 상속X
2. extends keyword 사용.
형식)
접근제어자 class ClassName(하위) extends ClassName(상위) {
}//하위를 extends 확장한다. 부모에게 상속 받으면 내것도 내꺼고 부모것도 내꺼
3. 클래스 간의 상속은 단일 상속만 가능.
다중 상속 불가능
계층적 상속은 가능
4. 모든 클래스의 최상위 클래스는 Object 이다.
우리가 지금까지 썼던 class들도 Object를 상속받았다. (default)
Object가 가지고있는 메소드는 아무데서나 사용할 수 있다.
5. method overriding (재정의)
하위 클래스의 기능에 맞게끔 재정의
반드시 method의 선언은 그대로여야 한다. 외형은 바꾸지 않고 기능만 재정비
(단, 접근제어자는 넓은 의미로 변경 가능)default > public으로 바꿀 수 있음. 하지만 privite은 overriding 못함.
6. this : 자기클래스 상속변수
super : 상위클래스 참조변수
this() : 자신의 생성자 호출
super() : 상위클래스의 생성자 호출
7. 다형성 : 하위 클래스를 참조하여 상위 클래스의 객체를 생성.
A. class (상위) B.class (하위)
A a = new A();
B b = new B();
A a = new B(); >>다형성
8. class의 관계
has a : 집합
is a : 상속
[출처] 빡쏘끼룩
'IT > JAVA' 카테고리의 다른 글
[Java]Override 2 (0) | 2020.07.21 |
---|---|
[Java]택시요금 code (0) | 2020.07.20 |
[Java]스타크래프트 마린 만들기/call by reference, call by value (0) | 2020.07.17 |
[Java]사각형과 원 넓이, 둘레 구하기 code (0) | 2020.07.08 |
[Java]method 오버로딩 (0) | 2020.07.05 |