0%

Java단일상속,Object

단일 상속

  • Java는 단일상속만을 허용
1
class TvDVD extends Tv, DVD {
2
  // 에러, 조상은 하나만 허용
3
}
  • 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.
1
class Tv {
2
  boolean power;
3
  int channel;
4
  
5
  void power() { power = !power; }
6
  void channelUp() { ++channel; }
7
  void channelDown() { --channel; }
8
}
9
10
class DVD {
11
  boolean power;
12
  
13
  void power() { power = !power; }
14
  void stop() { /*내용생략*/ }
15
  void rew() { /*내용생략*/ }
16
  void ff() { /*내용생략*/ }
17
}
1
class TvDVD extends Tv {
2
  DVD dvd = new DVD();
3
  
4
  void play() {
5
    dvd.play();
6
  }
7
  void stop() {
8
    dvd.stop();
9
  }
10
  void rew() {
11
    dvd.rew();
12
  }
13
  void ff() {
14
    dvd.ff();
15
  }
16
}

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

  • 부모가 없는 클래스는 자동적으로 Object클래스를 상속받게 됨
  • 모든 클래스는 Object클래스에 정의 11개의 메서드를 상속받음(toString(), quuals(Object obj), hashCode(),…)
1
class Tv {
2
  // ...
3
}
4
5
class SmartTv extends Tv {
6
  // ...
7
}
1
// 위코드를 컴파일 할 시
2
class Tv extends Object {
3
  // ...
4
}
5
class SmartTv extends Tv {
6
  // ...
7
}