728x90
반응형
package chap7;
/*
* super 생성자
* 1. 부모클래스의 생성자를 자손클래스에서 호출
* 2. 첫줄에서 호출해야 함
* 3. 부모클래스의 생성자 중 매개변수 있는 생성자만 있다면 자손클래스의 생성자에서
* 반드시 super()를 호출해야함. 이때 super(매개변수)는 부모클래스의 생성자에
* 맞아야 한다.
* 4. 부모클래스의 생성자 중 매개변수가 없는 생상자가 존재하면, super() 생략할 수 있음.
* 5. 자손클래스의 생성자에서 부모클래스의 생성자를 호출해야함.
*
* 상속관계 : is a 성립함.
* SmartPhone is a Phone (o) => SmartPhone extends Phone 성립.
* 인터넷계좌 is a 계좌 (o)
*
* 계좌 has a 계좌번호 => 멤버로 접근
* class 계좌 { 계좌번호 no}
*
*/
class Parent2 {
int x = 10;
Parent2(int x) { //생성자
this.x = x;
}
// Parent2() {
// this(0);
// }
}
class Child2 extends Parent2 {
int x = 20;
Child2() {
// super(); //생략됨.
super(100); //부모클래스의 생성자에 맞도록 호출해야함.
}
void method() {
System.out.println("x=" + x);
System.out.println("this.x=" + this.x);
System.out.println("super.x=" + super.x);
}
}
public class SuperEx2 {
public static void main(String[] args) {
Child2 c = new Child2();
c.method();
}
}
728x90
반응형
'study > Java' 카테고리의 다른 글
[Java] 22. 다형성 예제 (0) | 2022.03.21 |
---|---|
[Java] 22. 상속 Exam1 (SutdaCard 20장으로 이루어진 SutdaDeck 클래스 구현하기) (0) | 2022.03.21 |
[Java] 22. super 예약어 (0) | 2022.03.21 |
[Java] 22. 오버로딩, 오버라이딩 예제 (0) | 2022.03.21 |
[Java] 22. 상속1 (0) | 2022.03.21 |