[Java의 정석]Chapter7.객체지향 프로그래밍2(05~06)

Hello_Wendy·2022년 4월 26일
0

자바의 정석

목록 보기
49/61
post-thumbnail

Chapter 7. 객체지향 프로그래밍 2

05. 단일 상속(single inheritance)

  • C++은 여러 조상 클래스로부터 상속받는 것이 가능한 '다중 상속(multiple inheritance)'를 허용
  • 자바에서는 단일 상속만을 허용하므로, 둘 이상의 클래스로부터 상속불가
class TvDVD extends Tv, DVD { //에러, 조상은 하나만 허용됨
	...
}
  • 다중상속을 허용하면 여러 클래스로부터 상속 가능하기 때문에 복합적인 기능을 가진 클래스를 쉽게 작성가능하다는 장점이 있지만, 클래스간의 관계가 매우 복잡해진다는 것과 서로 다른 클래스로부터 상속받은 멤버간의 이름이 같은 경우 구별하는 방법이 없다는 단점이 있음
  • 자바에서는 다중상속을 허용하지 않기 때문에 클래스간의 관계가 보다 명확해지고 코드를 더욱 신뢰할 수 있게 만들어준다는 점에서 유리함

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

  • Object클래스 : 모든 클래스 상속계층도의 최상위에 있는 조상클래스
  • 다른 클래스로부터 상속 받지 않는 모든 클래스들은 자동적으로 Object클래스로부터 상속받게 함
  • 이미 어떤 클래스로부터 상속받도록 작성된 클래스에 대해서는 컴파일러가 'extends Object'를 추가 하지 않음
class Tv {
	...
} 
:다음과 같이 다른 클래스로부터 상속을 받지 않는 Tv클래스를 정의햇을 경우

class Tv extends Object {
	...
}
:자동적으로 'extends Object'를 추가하여 Tv클래스가 Object클래스로부터 상속받도록 함
  • 만일, 다른 클래스로부터 상속을 받는다고 하더라도 상속계층도를 따라 조상클래스, 조상클래스의 조상클래스를 찾아 올라가다 보면 결국 마지막 최상위 조상은 Object클래스 일 것
profile
안녕 나의 새로운 세상

0개의 댓글