자바의 정석 Chapter 7 상속

MinJee Lee·2022년 2월 25일
0

Java

목록 보기
2/10
post-thumbnail

🙌 상속(inheritance)

상속이란 기존의 클래스로 새로운 클래스를 작성하는 것 (코드의 재사용)
두 클래스를 부모와 자식으로 관계를 맺어주는 것.

  • 코드 재사용
  • 부모자식 관계 맺어줌
  • 멤버만 상속 받음

조상 클래스 : 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스

자손 클래스 : 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스

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

🤔  기존에 부모 클래스가 존재하고 extends라는 키워드를 사용하여 자식 클래스와 관계를 맺어준다.

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

자손의 멤버 개수는 조상보다 같거나 많다.

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

부모가 변경되면 자식의 손자까지 변경된다.

🌟 7.2 클래스 간의 관계 - 포함 관계

class Circle {
			int x; // 원점의 x 좌표 -> 저장공간 1
			int y; // 원점의 y 좌표 -> 저장공간 2
			int r; // 반지름(radius) -> 저장공간 3 
			//총 3개의 저장 공간
}
class Point {
			int x; // x 좌표
			int y; // y 좌표
}

이렇게 두개의 클래스가 있다고 가정한다.

class Circle {
		Point c = new Point(); 
		int r;

//참조변수를 포함하는 관계 이기 때문에 위의 class Circle 과 저장공간이 같은 개수가 된다.
//	이것을 포함 관계라고 한다.

}

😎 7.3 클래스간의 관계 결정하기

상속 관계 : 원(Circle)은 점(Point)이다. is a ~

포함 관계 : 원(Circle)은 점(Point)을 가지고 있다. has a ~

✨ 7.4 단일 상속 (Single inheritance)

Java 는 단일 상속만 가능 (하나의 부모만 상속)

만약 다중상속이 필요하다면 비중이 높은 클래스 하나만 상속관계, 나머지는 포함관계로 한다.(324p)

🔥 7.5 Object 클래스 - 모든 클래스의 조상

  • 부모가 없는 클래스는 자동적으로 Object 클래스를 상속 받게 된다.
  • Object 클래스는 모든 클래스 상속계층도의 최상위에 있는 조상클래스이며, 다른 클래스로부터 상속 받지 않는 모든 클래스들은 컴파일러에 의해 자동적으로 Object클래스로부터 상속받게 된다.

이 게시물은 자바의 정석 책을 요약한 내용입니다.

0개의 댓글