단일 상속

다른 객체지향언어인 c++에서는 여러 조상 클래스로부터 상속받는 것(다중 상속)이 가능.

자바에서는 둘 이상의 클래스로부터 상속을 받을수 없다. (단일 상속)

비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다. 

class TvDVD extends Tv, DVD { //에러! 조상은 하나만 허용된다.
	...
}

 

다중상속을 안쓰는 이유

Tv클래스에도 power() 이라는 메서드가 있고, DVD클래스에도 power()라는 메서드가 있다면

자손인 TvDVD클래스 내에서 선언부(이름과 매개변수)만 같고 서로다른 내용의 두 메서드를

구별하기 힘들다는 단점이 있다.  따라서 자바에서는 단일상속만 허용!

 

Object 클래스 

모든 클래스의 조상이다.

부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. 

class tv {   // 다른 클래스로부터 상속을 받지 않는 Tv클래스를 정의
	... 
}  

위의 코드를 컴파일 하면 자동적으로 'extends Object'를 추가한다.
--------------------------------------------------------------컴파일 후

class Tv extends Object {  //extends Object가 자동추가됨
	...
}

모든 클래스는 Object클래스에 정의된 11개 메서드를 상속받는다. 

그래서 자바의 모든 클래스들은 Object클래스에 정의된 멤버들을 사용할 수 있다.

ex) toString(), equals(Object obj), hashCode() 등등..