단일 상속(Single Inheritance)

essential·2023년 7월 16일

객체 지향

목록 보기
18/40

단일 상속

  • java는 단일 상속만을 허용한다. (C++은 다중 상속 허용) / (하나의 부모만 상속)
  • 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.
class TvDVD extends Tv {
	DVD dvd = new DVD();

	void play() {
		dvd.play();
	}

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

  • 부모가 없는 클래스는 자동적으로 Object 클래스를 상속 받게 된다.
  • 모든 클래스는 Object 클래스에 정의된 11개의 메서드를 상속 받는다.
    • toString(),equals(Object obj)…등
class Tv { //extends Object(컴파일러가 자동으로 추가해줌)
}

class SmartTv extends Tv {
}

ex.Object

class MyPoint extends Object {
	int x;
	int y;
}

class Circle extends Object {
	MyPoint p;
	int r;
	Circle () {
			p = new MyPoint();
	}
}

public class InheritanceTest {
	public static void main(String[] args) {
			Circle c = new Circle();
			System.out.println(c.toString()); 
//object 가 갖고 있기 때문에 toString 을 만들지 않아도 사용 가능
//"Circle@15db9742" 
			Circle c2 = new Circle();
			System.out.println(c2); 
//() 안에 c2 와 같은 참조 변수가 들어오면 println 메서드가 toString을 호출함
profile
essential

0개의 댓글