상속과 다형성 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();
	}
}

태그:

카테고리:

업데이트: