0%

Java상속

상속(Inheritance)

  • 기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용)
  • 두 클래스를 부모와 자식으로 관계를 맺어주는 것
1
class 자식클래스 extends 부모클래스 {
2
  // ...
3
}
1
class Parent{}
2
class Child extends Parent {
3
  // ....
4
}
  • 자손은 조상(부모의 부모)의 모든 멤버를 상속받음(생성자, 초기화블록 제외)
  • 자손의 멤버 개수는 조상보다 적을 수 없음(같거나 많음)
1
class Parent {
2
  int age;
3
}
4
5
class child extends Parent {}
  • 자손의 변경은 조상에 영향을 미치지 않음
1
class Parent {
2
  int age;
3
}
4
5
class Child extends Parent {
6
  void play() {
7
    System.out.println("play!!");
8
  }
9
}
1
class Point {
2
  int x;
3
  int y;
4
}
1
// Point와 관계없는 클래스
2
class Point3D {
3
  int x;
4
  int y;
5
  int z;
6
}
1
// Point를 상속
2
class Point3D extends Point {
3
  int z;
4
}
  • 결과적으로 위의 코드와 아래 코드의 멤버는 동일하게 3개입니다.

image

image

  • SmartTv에서 정의된 것은 captiondisplaycaption()밖에 없지만 부모에게 상속받은 변수, 함수들은 사용 가능