본문 바로가기
프로그래밍 언어/자바의 정석 기초편

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

by life grow 2022. 8. 16.

7-1 상속

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

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

 

class 자식클래스 extends 부모클래스 {

     

}

 

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

(위에 부모꺼 + 부모의 조상꺼 전부 상속 받는다.)

 

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

 

child는 멤버가 0개가 아니다.

자신의 멤버0개 + 상속받은 멤버1개 = child 멤버 1개

 

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

확장(extend)

Parent란 클래스를 확장해서 Child라는 클래스를 만들겠다는 말.

 

자신의 멤버1개 + 상속받은 멤버1개 = child 멤버 2개

 

Point3D 클래스 작성 방법이 2가지 있다.

두가지 방법의 차이는

왼쪽은 Point 클래스와 관계가 없고

오른쪽은 Point 클래스와 상속관계에 있다. 

 

왼쪽은 관계가 없으니 Point 클래스의 변경에 영향을 받지 않는다.

오른쪽은 Point3D 클래스는  Point 클래스의 상속을 받는다.

그래서 Point 클래스의 변경에 영향을 받는다.

 

만약 Point 클래스의 int y를 제거하면

Point3D 클래스는 멤버가 2개로 바뀐다.

 

1번하고 2번하고는 상속을 받던 안받던 실제 객체를 만들면 똑같다.

부모의 변경은  자손에 영향을 미친다.

자손의 변경은 부모에 영향을 미치지 않는다.