Daily coding
Java Basic : day 9 - Inheritance 상속 2 - super 참조 본문
Inheritance 상속 2
* Super 참조
// 부모 클래스
public class ParentClass {
private int number;
// 기본 상속자
public ParentClass() {
System.out.println("ParentClas ParentClass() 호출 ");
}
// 매개변수가 1개 있는 상속자
public ParentClass(int number) {
this.number = number;
System.out.println("ParentClas ParentClass(int number) 호출 ");
}
}
// 자식 클래스
public class ChildClass extends ParentClass {
private String name;
public ChildClass() {
super();
// 위의 코드는 부모클래스의 생성자(기본) 호출하는 코드
// 위의 코드를 사용하면 부모 객체의 생성자를 호출할 수 있다.
// super을 사용하지 않으면 부모 객체의 기본 생성자가 호출이 된다.
System.out.println("ChildClass ChildClass() 호출");
}
public ChildClass(String name, int num) {
// 만약 자식 객체에서 부모 클래스의 변수의 값을 초기화하고 싶으면
// 파라미터를 통해서 외부에 부모클래스의 생성자 값을 받고
// super 참조를 통해서 부모클래스의 특정 생성자를 불러온다.
super(num);
// 위 코드의 경우는 부모 클래스의 생성자 중
// public ParentClass(int number) 를 호출하여 부모클래스를 초기화 한다.
this.name = name;
System.out.println("ChildClass ChildClass(String name) 호출");
}
}
결과 :
// 메인클래스
public class mainClass {
public static void main(String[] args) {
ChildClass cc = new ChildClass();
// 출력 결과 :
// ParentClas ParentClass() 호출
// ChildClass ChildClass() 호출
ChildClass cc2 = new ChildClass("", 21);
// 출력 결과 :
// ParentClas ParentClass(int number) 호출
// ChildClass ChildClass(String name) 호출
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 9 - Inheritance 상속 4 : 예시 (0) | 2019.11.29 |
---|---|
Java Basic : day 9 - Inheritance 상속 3 - Overriding 오버라이딩 (0) | 2019.11.29 |
Java Basic : day 9 - Inheritance 상속 1 - extends 예약어, 접근제어자, super (0) | 2019.11.29 |
Java Basic : day 9 - Static 스태틱 (0) | 2019.11.29 |
Java Basic : day 9 - Class 은닉화(캡슐화) 복습 (0) | 2019.11.29 |