본문 바로가기
Dev/Java

[Java] 자바의 정석 기초편 ch7-1,2 상속

by 코딩삐약 2022. 4. 22.

ch7-1 상속(Inheritance)

- 기존의 클래스로 새로운 클래스를 작성하는 것. (코드의 재사용)

- 두 클래스를 부모와 자식으로 관계를 맺어주는 것.

class Parent{	}

class Child extends Parent { // 자식이 부모에게 상속받는 종속관계
	// ... 
}

 

- 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화 블럭 제외)

- 키워드 extends

- 자손의 멤버 개수는 조상보다 적을 수 없다. (같거나 많다.)

class Parent { // 멤버 1개
	int age;
}

class Child extends Parent {	} // 자신의 멤버 0개 & 상속받은 멤버 1개 = 멤버 1개

- 자손의 변경은 조상에 영향을 미치지 않는다.

class Parent {
	int age; // 멤버 1개
}

class Child extends Parent {
	void play() {
    	System.out.println("놀자");
    } // 새로운 멤버 추가 = 자신 멤버 1개 + 상속받은 멤버 1개 = 2개
}

 

 

class Point { // 2차원 좌표의 한 점 (x, y)
	int x;
    int y;
}

// 3차원 좌표의 한 점 (x, y, z) 나타내기

class Point3D { // Point 클래스와 전혀 관계 x = Point 클래스 변경에 영향받지 x
	int x;
    int y;
    int z;
}

class Point3D extends Point { // Point 클래스를 상속 받아서 Point 클래스 변경에 영향 o
	int z;
}