/ JAVAJUNGSUK

Ch7-1~2. 상속

자바의 정석 기초편

0. 목차



Chapter7. 객체지향 프로그래밍Ⅱ

Ch7 - 1. 상속

Ch7 - 2. 상속 예제



Ch7 - 1. 상속


▶ 상속(inheritance)이란?

▷ 기존의 클래스로 새로운 클래스를 작성
▷ 코드의 재사용
▷ 두 클래스를 부모와 자식으로 관계를 맺어 주는 것


▶ 상속 작성 방법

class 자식클래스 extends 부모클래스 {
    //  ...
}
class Prent { }
class Chind extends Prent {
    // ...
}

▶ 상속 : 부모와 조상 그리고 자식

▷ 자손은 조상(부모의 부모)의 모든 멤버를 상속 받음
▷ 생성자, 초기화 블럭 제외 후 상속
▷ 자손의 멤버 개수는 조상보다 적을 수 없음
▷ 자손의 멤버 개수 >= 조상
// 부모 : 자신 멤버 1개
class Prent { 
    int age;
}

// 자식 : 자신 멤버 0개 + 상속 멤버 1개 >= 부모 멤버 1개
class Child extends Parent { }


▷ 자손의 변경은 조상에 영향을 미치지 않음
// 부모 : 자신 멤버 1개
class Prent { 
    int age;
}

// 자식 : 자신 멤버 1개 + 상속 멤버 1개
class Child extends Parent {
    void plya() {
        System.out.println("Play!");
    }
}




Ch7 - 2. 상속 예제


▶ 2차원 좌표의 한 점 : (x, y)

class Point {
    int x;
    int y;
}

▶ 3차원 좌표의 한 점 : (x, y, z)

▷ Point 클래스와 관계없는 클래스 : 부모 클래스의 변경과 관계 없음
class Point3D {
    int x;
    int y;
    int z;
}
  • 객체로 만들었을 때 모양
      Point3D p = new Point3D();
    


▷ Point 클래스를 상속 : 부모 클래스의 변경과 관계 있음
class Point3D extends Point {
    int z;
}
  • 객체로 만들었을 때 모양
      Point3D p = new Point3D();