정리/Java
자바의 정석 70~72강 상속, 클래스 간의 관계, 상속과 포함, 단일 상속, Object 클래스
민발자
2023. 8. 4. 14:09
728x90
ch 7-1~2 상속
기존의 클래스로 새로운 클래스를 작성(코드의 재사용)
두 클래스를 부모와 자식으로 관게를 맺어주는 것
자손은 조상의 모든 멤버를 상속받는다(생성자, 초기화블럭 제외)
자손의 멤버 개수는 조상보다 적을 수 없다(같거나 많음)
자손의 변경은 조상에 영향을 미치지 않음
class 부모 {
int age;
}
class 자식 extends 부모 {
void play() {
System.out.println("paly");
}
}
ch 7-3~4 클래스 간의 관계, 상속과 포함
1. 포함 관계 composite
클래스의 멤버로 참조변수 선언
작은 단위의 클래스를 만들고 조합하여 클래스 만듦
class Point {
int x;
int y;
}
// point를 포함하고 있음
// c.r, c.p.x, c.p.y 3개의 저장공간
class Circle {
Point p = new Point();
int r;
}
2. 클래스 간의 관계 설정하기
상속관계 : A는 B이다 is -a
포함관계 : A는 B를 가지고 있다 has -a
ex) 원은 점이다 vs 원은 점을 가지고 있다
가지고 있다가 더 어울림 = 포함관계
포함관계가 90%
ch 7-5~6 단일 상속, Object 클래스
1. 단일 상속
자바는 단일 상속만 허용(부모는 하나)
다중상속처럼 이용 → 비중이 높은 클래스 하나만 상속관계 나머지 포함관계
2. Object 클래스
부모가 없는 클래스는 컴파일러가 자동으로 Object클래스 상속
모든 클래스의 조상임
모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속
→ toString(), equals(Object obj), hashCode(), ...
728x90