클래스 이름 뒤에 'extends + 상속받을 클래스명'을 적어줌으로써 가능합니다.
상속은 1개만 가능합니다.
상속받은 자식 객체를 생성하면 그 객체의 부모 객체가 먼저 생성되고 그 다음에 자식 객체가 생성됩니다. 그렇다면 부모 객체는 어떻게 생성되는 것일까요? 바로 자식 생성자의 맨 첫줄에서 호출됩니다. 만일 자식 클래스의 생성자가 명시적으로 선언되지 않았다면 컴파일러는 다으과 같은 기본 생성자를 생성합니다.
public Child() {
super();
}
super();는 부모의 기본 생성자를 호출합니다. 그러나 부모 클래스에 기본 생성자가 존재하지 않고 매개 변수가 필요한 생성자만 있다면 자식 생성자에서 반드시 부모 생성자 호출을 위해 super(매개값, ...)을 명시적으로 호출해야 합니다. super(매개값, ...)은 반드시 자식 생성자 첫 줄에 위치해야 하며, 그렇지 않으면 컴파일 에러가 발생합니다.
다음 예제에서 부모 클래스는 기본 생성자가 없으므로 자식 생성자 첫출에 super(name, ssn);을 명시해야만 부모 객체를 불러올 수 있습니다.
결과:
홍길동
123456-1234567
1111
+ super();가 부모 클래스의 생성자를 호출하는 것이라면, this()는 자신의 다른 생성자를 호출합니다. 둘 모두 생성자의 첫 줄에서만 허용됩니다.
'java' 카테고리의 다른 글
다형성 (0) | 2021.01.25 |
---|---|
메소드 재정의(오버라이딩 Overriding) (0) | 2021.01.24 |
java 이클립스 단축키 모음 (0) | 2021.01.24 |
Getter와 Setter 메소드 (0) | 2021.01.24 |
싱글톤(singleton)이란? (0) | 2021.01.24 |