public class Parent {
public String nation;
public Parent() {
this("홈 스윗 홈");
System.out.println("Parent() call");
}
public Parent(String nation) {
this.nation = nation;
System.out.println("Parent(String nation) call");
}
}
상속이 되는 부모 클래스로 Parent()생성자가 먼저 실행,
안에 있는 this로 Parent(String nation)이 실행되고
필드에 있는 nation에 매개변수 nation으로 초기화 해준다.
public class Child extends Parent{
private String name;
public Child() {
this("Corgi");
System.out.println("Child() call");
}
public Child(String name) {
this.name = name;
System.out.println("Child(String name) call");
}
}
실행은 Parent 클래스와 같이 생성자에 매개변수로 필드 변수를.
하지만 Parent 클래스를 상속 받기 때문에
Parent의 생성자가 먼저 실행 후 다음으로 실행이 된다.
public class ChildExample {
public static void main(String[] args) {
Child child = new Child();
}
}
Parent 클래스를 상속받은 Child 클래스를 child로 인스턴스를 만들게 되면
부모클래스 -> 자식클래스 순서대로 실행이 된다.
OOP (Object Oriented Programing)
: 특정한 개념의 함수와 자료형을 함께 묶어서 관리