Java 단일상속(Single Inheritance), Object 클래스
by 볼빵빵오춘기단일 상속(Single Inheritance)
- java는 하나의 부모만 상속하는 단일 상속만을 허용한다. (C++은 다중상속 허용)
- 다중상속을 포기하는 대신 인터페이스가 그 역할을 할 수 있도록 한다.
- 또는 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.
더보기
왜 단일 상속만 허용하나?
class TvDVD extends Tv, DVD{ // error, 조상은 하나만 허용
}
다중상속시 문제점이 많다.
예를들면 Tv, DVD 둘 다 기능중에 power()라는 기능이 있다고 했을 경우 이름은 같으나 기능이 다르다고 했을 때 어느 것을 상속받아야하는지 충돌문제가 있기 때문이다.
Object클래스
- Object클래스는 모든 클래스의 조상이다.
- 부모가 없는 클래스는 자동적으로 Object클래스를 상속받게 된다.
- 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다.
- 컴파일시 자동으로 extends Object가 추가된다.
- toString(), equals(Object obj), hashCode(),….
예제코드
class MyPoint{
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 Cicle();
System.out.println(c.toString());
// extends Object 자동적으로 상속되어 toString()사용가능
}
}
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java 참조변수 super, 생성자 super() (0) | 2023.11.29 |
---|---|
Java 오버라이딩(overriding) (0) | 2023.11.29 |
Java 클래스 간의 관계, 상속과 포함관계 (0) | 2023.11.29 |
Java 상속(Inheritance) (0) | 2023.11.29 |
Java 변수의 초기화, 멤버변수의 초기화 (0) | 2023.11.29 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기