Do It Java Day16
상속과 다형성 1
1. 상속
상속이란?
- 클래스를 정의할 때 이미 구현된 클래스를 상속 받아서 속성이나 기능이 확장되는 클래스를 구현함
- 상속하는 클래스: 상위클래스, parent class, base class, super class => 하위클래스보다 일반적인 의미를 가짐
- 상속 받는 클래스: 하위 클래스, child class, derived class, subclass => 상위클래스보다 구체적인 의미를 가짐
- extends 뒤에는 단 하나의 클래스만 사용할 수 있음 => 자바는 단일 상속(single inheritance)만을 지원함
//클래스 상속 문법
class B extends A {
}
상속은 단순히 코드의 재사용이 아니다!
- 코드의 재사용은 합성을 사용한다
public class Point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
public class Circle {
Point point; // 합성(has - a 관계)
private int radius;
public Circle() {
point = new Point();
}
}