상속(Inheritance)
A는 B이다(A is a B) 관계일 때 상속관계 가능.
class A extents B {}
사람(A)은 동물(B)이다.(O) <-> 동물은 사람이다.(X) (역은 성립안됨)
중학생은 학생이다.(O) <-> 학생은 중학생이다.(X)
상속의 장점
- 클래스의 간결화 : 멤버의 중복작성 불필요
- 클래스 관리 용이 : 클래스들의 계층적 분류
- 소프트웨어의 생산성 향상 : 클래스 재사용과 확장 용이
파일명 : Test1.java
패키지 : com.test
package com.test;
// 포함(Include)
// A는 B를 가진다(A has a B) 관계일 때는 포함관계 가능.
class Car {
int num;
String color;
Engine engine = new Engine();
}
class Engine {
}
// 부모클래스, 수퍼클래스, 상위클래스
class Parent {
void parentPrn() {
System.out.println("Parent 클래스의 parentPrn() 메소드");
}
}
// 자식클래스, 서브클래스, 하위클래스
class Child extends Parent { // Parent 상속
void childPrn() {
System.out.println("Child 클래스의 childPrn() 메소드");
}
}
class GrandChild extends Child {
void grandPrn() {
System.out.println("GrandChild 클래스의 grandPrn()");
}
}
public class Test1 {
public static void main(String[] args) {
// 부모클래스에서 부모 메소드 호출
Parent p = new Parent();
p.parentPrn();
// 자식클래스에서 자식, 부모 메소드 호출
Child c = new Child();
c.childPrn();
c.parentPrn();
GrandChild g = new GrandChild();
g.grandPrn();
g.childPrn();
g.parentPrn();
} // main의 끝
}
'IT > Java' 카테고리의 다른 글
자바 상속, super, 멤버변수 오버라이드(override) (0) | 2018.07.17 |
---|---|
자바 상속 두번째 예제 (0) | 2018.07.17 |
자바 패키지, 임포트(import)문, ArrayList (0) | 2018.07.16 |
자바 데이터은닉, 객체배열 (0) | 2018.07.16 |
자바 접근지정자 public, protected, 생략(package), private (1) | 2018.07.16 |