티스토리 뷰
상속 & super()
하위 클래스를 생성할 경우
항상 상위 클래스의 instance가 생성되고 하위 클래스의 instance가 생성된다.
//gpaeng은 고릴라 클래스의 instance => 고릴라를 사용한다고 생각
포유류 gpaeng = new 고릴라();
// gpaeng의 변수 type은 포유류
// gpaeng의 instance type은 고릴라
public class 포유류 {
int age; //인스턴스 변수
static int height; //클래스 변수
void method(){
int i; // 지역 변수
}
}
super()
- 상위 클래스의 기본 생성자 호출
- 상위 클래스의 접근을 위한 수단
//Customer.java
public Customer(int ID, String Name) {
this.ID = ID;
this.Name = Name;
Grade = "SILVER";
bonusRatio = 0.01;
}
//VIP.java
// super를 이용하여 상위 클래스의 생성자 명시적으로 호출
public VIP(int ID, String Name) {
super(ID, Name);
Grade = "VIP";
bonusRatio = 0.05;
salesRatio = 0.1;
}
//Test.java
public class Test {
public static void main(String[] args) {
Customer c1 = new Customer(10010, "GPAENG");
c1.bonusPoint = 1000;
VIP c2 = new VIP(10020, "gpaeng");
c2.bonusPoint = 10000;
}
}
반응형
'Tip and Error > JAVA' 카테고리의 다른 글
instance 형 확인 (instanceof) (0) | 2021.04.12 |
---|---|
Override (0) | 2021.04.08 |
Singleton Pattern(싱글톤 패턴) (0) | 2021.04.07 |
변수와 메모리 관계 (0) | 2021.04.07 |
get() / set() (0) | 2021.04.06 |
공지사항
최근에 올라온 글