InheritanceClass
public class inheritanceClass {
public static void main(String[] args) {
//기본생성자 호출
MyClass cls = new MyClass();
//매개변수 생성자 호출
MyClass cls1 = new MyClass(1, "aaa");
// ChildClass를 호출해주면 ParentClass부터 호출한 후 ChildClass를 호출
ChildClass cc = new ChildClass();
ChildClass cc1 = new ChildClass(11,"홍길동", 180.1);
}
}
================================================================
MyClass Myclass()
//두번째 생성자에서 this()로 인해 기본생성자도 호출됨
MyClass Myclass()
MyClass Myclass(int number, String name)
ParentClass ParentClass()
ChildClass ChildClass()
MyClass
public class MyClass {
private int number;
private String name;
// 기본 생성자(매개변수가 없는 생성자)
public MyClass() {
//this(0,"") 초기값 설정가능 but 매개변수가 있는 생성자에 this를 사용시 사용 불가!
System.out.println("MyClass Myclass()");
}
// 매개변수가 있는 생성자
// this: 멤버변수를 구분할때 사용하는 구분자
public MyClass(int number, String name) {
this(); // 기본 생성자 호출
// 위 메소드의 this 같이 사용 불가
this.number = number;
this.name = name;
System.out.println("MyClass Myclass(int number, String name)");
}
}
ParentClass
public class ParentClass {
private int number;
private String name;
public ParentClass() { // 기본 생성자
System.out.println("ParentClass ParentClass()");
}
public ParentClass(int number, String name) { // 매개변수 있는 생성자
this.number = number;
this.name = name;
}
}
ChildClass
public class ChildClass extends ParentClass {
private double height;
public ChildClass() {
//this(1.12); // this - 현재 클래스의 변수를 가져옴
//super(); // 부모클래스의 기본 생성자를 호출
// super는 부모클래스로 접근
//super(123, "hello"); // super - 부모 클래스의 생성자의 형태를 알려줌(2번째 생성자)
System.out.println("ChildClass ChildClass()");
}
public ChildClass(double height) {
//super(234, "world");
this.height = height;
}
public ChildClass(int number, String name, double height) {
super(number, name);
this.height = height;
}
}
super
super.부모메소드( toString() )를 통해 부모클래스에서 정의된 메소드를 재정의하지않고 가져와서 씀
super();는 부모의 생성자를 가져옴
public class Employee extends Person{
private String dept;
public String getDept(){
return dept;
}
public void setDept(String dept){
this.dept = dept;
}
public String toString(){
return super.toString() + dept;
}
}
'Java' 카테고리의 다른 글
[Java] Override (0) | 2022.04.12 |
---|---|
[Java] Interface (0) | 2022.04.11 |
[Java] Inheritance(상속) (0) | 2022.04.11 |
[Java] HashMap (0) | 2022.04.10 |
[Java] Generic (0) | 2022.04.10 |
댓글